我在构建docker镜像时遇到了问题并尝试了不同的DNS选项,但似乎没有运气。
Docker版本1.9.1,构建a34a1d5
Repos还活着。
对于运行容器,我使用docker run --dns=192.168.1.1 -d -ti --name alpine3 alpine
标签,dns在那里工作。
对于图像,我将DNS IP 192.168.1.1添加到/etc/docker/daemon.json和/etc/default/docker.io以及docker eth DNS,但这没有帮助。
我多次重启码头服务并重新拉出高山图像。
我甚至使用localhost创建了本地存储库,可以在构建期间使用日志中的路径访问,我可以下载所需的文件,但是当我运行docker build时,我收到错误。
doc1@ubuntu:$ docker build -t web .
Sending build context to Docker daemon 5.632 kB
Step 1 : FROM alpine
---> 3c82203aab43
Step 2 : MAINTAINER y0zg
---> Using cache
---> 16cc74909dc2
Step 3 : RUN echo http://localhost > /etc/apk/repositories; echo http://nl.alpinelinux.org/alpine/v3.6/main >> /etc/apk/repositories
---> Using cache
---> b7f808daeb7b
Step 4 : RUN apk --no-cache update
---> Running in f6625eaa1d7d
fetch http://localhost/x86_64/APKINDEX.tar.gz
ERROR: http://localhost: could not connect to server (check repositories file)
fetch http://localhost/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://localhost/x86_64/APKINDEX.tar.gz: could not connect to server (check repositories file)
fetch http://nl.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/v3.6/main: temporary error (try again later)
2 errors; 11 distinct packages available
这是dockerfile
doc1@ubuntu:$ cat Dockerfile
FROM alpine
MAINTAINER y0zg
RUN echo http://localhost > /etc/apk/repositories; \
echo http://nl.alpinelinux.org/alpine/v3.6/main >> /etc/apk/repositories
RUN apk --no-cache update
ADD counter.rb counter.rb
EXPOSE 4567
ENTRYPOINT ["ruby","counter.rb"]
答案 0 :(得分:0)
这是DNS问题,您可以通过以下步骤解决:
1)使用以下命令找到您的DNS IP
nmcli dev show | grep 'IP4.DNS'
IP4.DNS [1]:192.168.0.1
2)在桌面上创建一个名为deamon.json
的文件,并且该文件包含以下数据:
{
"dns": ["192.168.0.1", "8.8.8.8"]
}
注意:将IP 192.168.0.1
替换为您的DNS ip
3)进入系统中的目录/etc/docker/
并粘贴刚创建的文件deamon.json
4)然后重新启动您的docker /您的系统,它将解决您的问题。