【发布时间】:2015-06-23 22:52:38
【问题描述】:
尝试在 Ubuntu 14.04.02 Trusty Server 上从官方 ubuntu:12.04 和 ubuntu:latest 构建新的 docker 映像。
这不是 DNS 问题。它工作正常。我不支持代理。我得到网络连接,但无法下载文件。总是得到404: file not found,但url是正确的。
最后尝试了以下 Dockerfile 来证明我的观点:
FROM ubuntu
ADD 'http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz' /
COPY wget /usr/bin/
COPY ping /bin/
COPY libidn.so.11 /usr/lib/x86_64-linux-gnu/
RUN ping -c 4 ftp.unicamp.br
RUN wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
RUN tar zxf apache-tomcat-7.0.62.tar.gz
运行命令docker build --no-cache=true -t raoni/tomcat:0.1 .
得到以下输出:
Sending build context to Docker daemon 1.885 MB
Sending build context to Docker daemon
Step 0 : FROM ubuntu
---> 6d4946999d4f
Step 1 : ADD http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz /
Downloading [==================================================>] 8.825 MB/8.825 MB
---> 6d13d9232ebb
Removing intermediate container a3c80c01a112
Step 2 : COPY wget /usr/bin/
---> ba1d72d7b503
Removing intermediate container c004c20c396e
Step 3 : COPY ping /bin/
---> 59fb0419c477
Removing intermediate container c2f3d5035458
Step 4 : COPY libidn.so.11 /usr/lib/x86_64-linux-gnu/
---> 66cf1b0c13cc
Removing intermediate container 3dccacf5c992
Step 5 : RUN ping -c 4 ftp.unicamp.br
---> Running in 62bbdda28ef6
PING ftp.unicamp.br (143.106.10.149) 56(84) bytes of data.
64 bytes from ftp.unicamp.br (143.106.10.149): icmp_seq=1 ttl=52 time=31.6 ms
64 bytes from ftp.unicamp.br (143.106.10.149): icmp_seq=2 ttl=52 time=31.7 ms
64 bytes from ftp.unicamp.br (143.106.10.149): icmp_seq=3 ttl=52 time=31.8 ms
64 bytes from ftp.unicamp.br (143.106.10.149): icmp_seq=4 ttl=52 time=32.0 ms
--- ftp.unicamp.br ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 31.609/31.818/32.067/0.211 ms
---> cffab8d12f25
Removing intermediate container 62bbdda28ef6
Step 6 : RUN wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
---> Running in c38cf1dfb7a9
--2015-06-23 22:36:17-- http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
Resolving ftp.unicamp.br (ftp.unicamp.br)... 143.106.10.149
Connecting to ftp.unicamp.br (ftp.unicamp.br)|143.106.10.149|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-06-23 22:36:17 ERROR 404: Not Found.
The command '/bin/sh -c wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz' returned a non-zero code: 8
这个输出表明:
- URL 有效且可访问。 ADD 命令能够成功下载文件。
- 容器中的网络连接正常,因为它能够 ping 远程主机。
- 容器能够解析 DNS 名称。
Apt-get update 显示了完全相同的问题,如以下来自命令 docker run ubuntu:12.04 apt-get update 的摘录输出:
Err http://archive.ubuntu.com precise/main Sources
404 Not Found [IP: 91.189.91.13 80]
Err http://archive.ubuntu.com precise/restricted Sources
404 Not Found [IP: 91.189.91.13 80]
Err http://archive.ubuntu.com precise/universe Sources
404 Not Found [IP: 91.189.91.13 80]
Err http://archive.ubuntu.com precise/universe amd64 Packages
404 Not Found [IP: 91.189.91.13 80]
有关信息,docker version 命令输出显示:
root@vm:~/docker/test# docker version
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): linux/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64
提前致谢。
编辑:
Ufw 处于非活动状态。谢谢托马斯。
这是一个在边缘表现异常的网络 IPS。网络支持已修复,现在可以正常工作了。
【问题讨论】:
标签: ubuntu networking docker wget