docker-alpine icon indicating copy to clipboard operation
docker-alpine copied to clipboard

dl-cdn.alpinelinux.org errors

Open accursoft opened this issue 6 years ago • 77 comments

$ apk add --no-cache bash
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/6) Installing pkgconf (1.3.10-r0)
(2/6) Installing ncurses-terminfo-base (6.0_p20171125-r0)
(3/6) Installing ncurses-terminfo (6.0_p20171125-r0)
ERROR: ncurses-terminfo-6.0_p20171125-r0: Protocol error
(4/6) Installing ncurses-libs (6.0_p20171125-r0)
(5/6) Installing readline (7.0.003-r0)
(6/6) Installing bash (4.4.19-r1)
ERROR: bash-4.4.19-r1: Protocol error
Executing busybox-1.27.2-r7.trigger
2 errors; 5 MiB in 15 packages

Been getting this for a few days now.

accursoft avatar Mar 04 '18 07:03 accursoft

is there any update on this? Im too getting this error

GaudamThiyagarajan avatar Mar 12 '18 07:03 GaudamThiyagarajan

fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.4/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.4/community: temporary error (try again later)
WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory
2 errors; 11 distinct packages available
WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
  curl (missing):
    required by: world[curl]
WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
  pcre (missing):
    required by: world[pcre]
./mnt/install/install.sh: line 15: curl: not found
grep: unrecognized option: P

rouing avatar Mar 13 '18 06:03 rouing

Also getting these errors.

jakubszlendak avatar Mar 17 '18 12:03 jakubszlendak

fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/main: temporary error (try again later) WARNING: Ignoring APKINDEX.70c88391.tar.gz: No such file or directory

CDN seems to be down again

alexandermuehle avatar Mar 19 '18 13:03 alexandermuehle

+1

Had this issue, but realized that it was a defective docker bridge or something. Restarting the daemon fixed it for me and the troubleshooting process was working back from DNS resolution, routing, etc from the pertinent host.

kbaegis avatar Mar 27 '18 13:03 kbaegis

adding RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories fixed my issue

GaudamThiyagarajan avatar Mar 28 '18 07:03 GaudamThiyagarajan

https://github.com/gliderlabs/docker-alpine/issues/279 is a similar issue from the past.
I would like to report that we are also seeing timeouts updating against dl-cdn.alpinelinux.org. I have sidestepped the issue by adding references to one of the mirrors in our Dockerfile.

JPWKU avatar Mar 29 '18 21:03 JPWKU

Hello,

Is there any fix available for this? I'm getting same error especially in APAC region.

Step 1/14 : FROM openjdk:8u151-jdk-alpine3.7 ---> 224765a6bdbe Step 2/14 : RUN apk add --no-cache bash ---> Running in 9f36177aa798 fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz (1/6) Installing pkgconf (1.3.10-r0) (2/6) Installing ncurses-terminfo-base (6.0_p20171125-r0) ERROR: ncurses-terminfo-base-6.0_p20171125-r0: Protocol error (3/6) Installing ncurses-terminfo (6.0_p20171125-r0) (4/6) Installing ncurses-libs (6.0_p20171125-r0) (5/6) Installing readline (7.0.003-r0) (6/6) Installing bash (4.4.19-r1) ERROR: bash-4.4.19-r1: Protocol error Executing busybox-1.27.2-r7.trigger 2 errors; 107 MiB in 55 packages The command '/bin/sh -c apk add --no-cache bash' returned a non-zero code: 2

prawen avatar Apr 10 '18 12:04 prawen

@prawen RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories

fixed my issue before your $ apk add --no-cache bash

GaudamThiyagarajan avatar Apr 10 '18 13:04 GaudamThiyagarajan

Had the same error trying to build an alpine-sdk docker using Docker Windows 10. Checked the status of the server, and the server was fine and reachable outside docker.

Restarting docker did the trick for me. Looking in the Docker log file it's clear that the DNS configuration was set incorrectly. So when seeing this error in a docker context, try to restart docker first.

JoFAM avatar Apr 11 '18 09:04 JoFAM

After trying both the workarounds I'm still getting below error.

Step 1/15 : FROM openjdk:8u151-jdk-alpine3.7 ---> 224765a6bdbe Step 2/15 : RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositories ---> Using cache ---> 62d6f04e3f75 Step 3/15 : RUN apk add --no-cache bash ---> Running in 316074569bd7 fetch http://nl.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz fetch http://nl.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz (1/5) Installing ncurses-terminfo-base (6.0_p20171125-r0) (2/5) Installing ncurses-terminfo (6.0_p20171125-r0) (3/5) Installing ncurses-libs (6.0_p20171125-r0) ERROR: ncurses-terminfo-6.0_p20171125-r0: BAD signature (4/5) Installing readline (6.3.008-r4) (5/5) Installing bash (4.3.46-r5)

prawen avatar Apr 12 '18 06:04 prawen

If you do not know what the reason is, then it is probably DNS

  • 8.8.8.8 cannot resolve dl-cdn.alpinelinux.org
  • ns1.alpinelinux.org can resolve dl-cdn.alpinelinux.org
  • dl-cdn.alpinelinux.org is CNAME for global.prod.fastly.net
  • ns1.alpinelinux.org cannot resolve global.prod.fastly.net
  • 8.8.8.8 can resolve global.prod.fastly.net
dig http://dl-cdn.alpinelinux.org

; <<>> DiG 9.10.3-P4-Ubuntu <<>> http://dl-cdn.alpinelinux.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 11102
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;http://dl-cdn.alpinelinux.org.	IN	A

;; AUTHORITY SECTION:
alpinelinux.org.	899	IN	SOA	ns1.alpinelinux.org. webmaster.alpinelinux.org. 20180406 1800 1800 3600 3600

;; Query time: 95 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Thu Apr 26 11:28:52 CEST 2018
;; MSG SIZE  rcvd: 108
dig @ns1.alpinelinux.org dl-cdn.alpinelinux.org

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @ns1.alpinelinux.org dl-cdn.alpinelinux.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29219
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;dl-cdn.alpinelinux.org.		IN	A

;; ANSWER SECTION:
dl-cdn.alpinelinux.org.	3600	IN	CNAME	global.prod.fastly.net.

;; Query time: 150 msec
;; SERVER: 74.117.189.114#53(74.117.189.114)
;; WHEN: Thu Apr 26 11:29:27 CEST 2018
;; MSG SIZE  rcvd: 87

dig @ns1.alpinelinux.org global.prod.fastly.net

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @ns1.alpinelinux.org global.prod.fastly.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 45878
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;global.prod.fastly.net.		IN	A

;; Query time: 151 msec
;; SERVER: 74.117.189.114#53(74.117.189.114)
;; WHEN: Thu Apr 26 11:29:40 CEST 2018
;; MSG SIZE  rcvd: 51
dig @8.8.8.8 global.prod.fastly.net

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 global.prod.fastly.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24521
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;global.prod.fastly.net.		IN	A

;; ANSWER SECTION:
global.prod.fastly.net.	29	IN	A	151.101.0.249
global.prod.fastly.net.	29	IN	A	151.101.64.249
global.prod.fastly.net.	29	IN	A	151.101.128.249
global.prod.fastly.net.	29	IN	A	151.101.192.249

;; Query time: 41 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Apr 26 11:29:52 CEST 2018
;; MSG SIZE  rcvd: 115

azyata avatar Apr 26 '18 09:04 azyata

It seems to be an issue with wget (or any other tool fetching data) not sending host header when requesting resources.

helgeolav avatar May 10 '18 15:05 helgeolav

not sure what you mean. Here's the wireshark of apk requesting the APKINDEX.tar.gz selection_128

neclimdul avatar May 10 '18 15:05 neclimdul

I hit the same error. Any more update?

RUN echo -e "http://nl.alpinelinux.org/alpine/v3.5/main\nhttp://nl.alpinelinux.org/alpine/v3.5/community" > /etc/apk/repositoriesdoes not work for me :-(

jingax10 avatar Jun 27 '18 04:06 jingax10

Running the echo command and it didn't seem to help. I ended up just restarting my laptop and that seemed to work.

neuralsandwich avatar Jul 30 '18 19:07 neuralsandwich

Any others suggestions on working around this issue?

amarjeet27 avatar Aug 07 '18 18:08 amarjeet27

Not working for me any updates on this ,,

This is annoying

us108y avatar Aug 09 '18 20:08 us108y

In my situation was wrong /etc/resolv.conf file. Just check in a container ping dl-cdn.alpinelinux.org

azalio avatar Oct 20 '18 22:10 azalio

It's DNS issue you can solve it by using the following steps:

  1. Find your DNS ip using below command nmcli dev show | grep 'IP4.DNS'

IP4.DNS[1]: 192.168.0.1

  1. Create a file in the desktop which name is deamon.json and file has below data: { "dns": ["192.168.0.1", "8.8.8.8"] }

note: replace that ip "192.168.0.1" to your dns ip

  1. Go that directory /etc/docker/ in your system and paste file deamon.json that you just created

  2. Then restart your docker/your system, it will solve your issue.

syedsaadqamar avatar Nov 11 '18 19:11 syedsaadqamar

Seems your docker can not go out of host machine. Maybe this can help:

iptables -t nat -A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE

drpreag avatar Jan 22 '19 20:01 drpreag

Please use docker run -e OR docker build --build-arg to pass http_proxy env variable required for apk package manager

deepsnitk avatar Apr 09 '19 07:04 deepsnitk

@GaudamThiyagarajan solution worked for me

adigunhammedolalekan avatar Apr 14 '19 06:04 adigunhammedolalekan

as pointed out by @azyata its can be a problem with the DNS settings

If you are performing apk add inside the container, below might be helpful

From docs.docker.com:

By default, a container inherits the DNS settings of the Docker daemon including the /etc/hosts and /etc/resolv.conf

  1. Try to ping
ping dl-cdn.alpinelinux.org

if it doesn't work

  1. Check DNS configuration in /etc/resolve.conf in host machine, try adding
nameserver 8.8.8.8

then perform ping

ping dl-cdn.alpinelinux.org

if it works for you, then

  1. Restart the docker daemon
sudo systemctl restart docker

^ This solved the problem for me.

s8sg avatar May 08 '19 09:05 s8sg

I am also getting below error:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz: IO ERROR fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz: IO ERROR

QACodeDev avatar Sep 09 '19 09:09 QACodeDev

I'm behind a proxy and I experienced a similar error:

fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.10/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.00740ba1.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.10/community: temporary error (try again later)
WARNING: Ignoring APKINDEX.d8b2a6f4.tar.gz: No such file or directory
2 errors; 15 distinct packages available

I solved it by creating a daemon.json file in /etc/docker/

sudo nano /etc/docker/daemon.json

and inserting:

{
  "bip": "192.168.1.5/24"
}

Restart docker and try again:

sudo systemctl daemon-reload
sudo systemctl restart docker

If I were to guess I'd say that docker bridge0 clash with the proxy in some way?

hspens avatar Sep 27 '19 12:09 hspens

Dirty hack for resolving this without changing daemon settings:

RUN \
    # DNS problem workaround
    # https://github.com/gliderlabs/docker-alpine/issues/386
    printf "nameserver 8.8.8.8\nnameserver 9.9.9.9\nnameserver 1.1.1.1" > /etc/resolv.conf \
    \
    && apk add --no-cache bash

Notice that it only affect current layer, in other layers you should add this patch too if needed.

Also you can pass custom DNS server from the ARGs.

lucidyan avatar Oct 06 '19 16:10 lucidyan

$ # Error case
$ docker build -t sample  .
...
Step 4/18 : RUN apk add --no-cache --update   ca-certificates   curl   ffmpeg   git   make   rtmpdump   tzdata
 ---> Running in 97d093634b58
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz: IO ERROR
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armhf/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armhf/APKINDEX.tar.gz: IO ERROR
ERROR: unsatisfiable constraints:
  curl (missing):
    required by: world[curl]
  ffmpeg (missing):
    required by: world[ffmpeg]
  git (missing):
    required by: world[git]
  make (missing):
    required by: world[make]
  rtmpdump (missing):
    required by: world[rtmpdump]
  tzdata (missing):
    required by: world[tzdata]
The command '/bin/sh -c apk add --no-cache --update   ca-certificates   curl   ffmpeg   git   make   rtmpdump   tzdata' returned a non-zero code: 6

In the above case, obtaining via CDN was resolved by using the '--network=host' option at build time.

docker build -t sample --network=host .

I got the above "unsatisfiable constraints" IO ERROR WARNING but I was able to curl(download) them from the host.

So I assumed that CDN wasn't down but something wrong about docker's network. I set the network as host by --network=host option and started to download. Hope this helps.

  • Docker: 18.06.3-ce
  • Base Image: Alpine Linux v3.10.3

KEINOS avatar Dec 19 '19 21:12 KEINOS

While building, using --network=host option solved fetching from CDN for me.

docker build -t sample --network=host .
$ # Results without --network option
$ docker build -t sample  .
...
Step 4/18 : RUN apk add --no-cache --update   ca-certificates   curl   ffmpeg   git   make   rtmpdump   tzdata
 ---> Running in 97d093634b58
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz: IO ERROR
...

I got the above "IO ERROR WARNING" but I was able to curl(download) them from the host. So I assumed that CDN wasn't down but something wrong about docker's network.

I believe this happens when MTU in the container differs from the MTU on the host. What happens is that Fastly filters out need-to-frag ICMP packets so Path MTU is broken on fastly (and dl-cdn.alpinelinux.org).

ncopa avatar Dec 19 '19 21:12 ncopa

While building, using **--network=host** option solved fetching from CDN for me.

docker build -t sample --network=host .
$ # Results without --network option
$ docker build -t sample  .
...
Step 4/18 : RUN apk add --no-cache --update   ca-certificates   curl   ffmpeg   git   make   rtmpdump   tzdata
 ---> Running in 97d093634b58
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/main/armhf/APKINDEX.tar.gz: IO ERROR
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armhf/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.10/community/armhf/APKINDEX.tar.gz: IO ERROR
ERROR: unsatisfiable constraints:
  curl (missing):
    required by: world[curl]
  ffmpeg (missing):
    required by: world[ffmpeg]
  git (missing):
    required by: world[git]
  make (missing):
    required by: world[make]
  rtmpdump (missing):
    required by: world[rtmpdump]
  tzdata (missing):
    required by: world[tzdata]
The command '/bin/sh -c apk add --no-cache --update   ca-certificates   curl   ffmpeg   git   make   rtmpdump   tzdata' returned a non-zero code: 6

I got the above "IO ERROR WARNING" but I was able to curl(download) them from the host. So I assumed that CDN wasn't down but something wrong about docker's network.

I set the networking mode as host for the RUN instructions during build by adding --network=host option and started to download. Hope this helps.

* Docker: 18.06.3-ce

* Base Image: Alpine Linux v3.10.3

This solved my problem to build my docker image. Thank you

fede-r1c0 avatar Feb 02 '20 05:02 fede-r1c0