docker-alpine
docker-alpine copied to clipboard
dl-cdn.alpinelinux.org errors
$ 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.
is there any update on this? Im too getting this error
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
Also getting these errors.
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
+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.
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
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.
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
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
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.
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)
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
It seems to be an issue with wget (or any other tool fetching data) not sending host header when requesting resources.
not sure what you mean. Here's the wireshark of apk
requesting the APKINDEX.tar.gz
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/repositories
does not work for me :-(
Running the echo command and it didn't seem to help. I ended up just restarting my laptop and that seemed to work.
Any others suggestions on working around this issue?
Not working for me any updates on this ,,
This is annoying
In my situation was wrong /etc/resolv.conf
file.
Just check in a container
ping dl-cdn.alpinelinux.org
It's DNS issue you can solve it by using the following steps:
- Find your DNS ip using below command nmcli dev show | grep 'IP4.DNS'
IP4.DNS[1]: 192.168.0.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
-
Go that directory
/etc/docker/
in your system and paste filedeamon.json
that you just created -
Then restart your docker/your system, it will solve your issue.
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
Please use docker run -e OR docker build --build-arg to pass http_proxy env variable required for apk package manager
@GaudamThiyagarajan solution worked for me
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
- Try to ping
ping dl-cdn.alpinelinux.org
if it doesn't work
- 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
- Restart the docker daemon
sudo systemctl restart docker
^ This solved the problem for me.
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
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?
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.
$ # 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
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).
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