docker repo在映像构建期间解决错误错误(检查存储库文件)

时间:2017-10-28 21:44:01

标签: ubuntu docker dns alpine

我在构建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"]

1 个答案:

答案 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 /您的系统,它将解决您的问题。