我使用代理,无法构建 Docker 映像。
我尝试过FROM ubuntu
, FROM centos
and FROM alpine
, but apt-get update
/ yum update
/ apk update
failed.
我的主机操作系统是 Windows 10,因此我将 Docker 设置配置为使用我们的代理。
我还添加了
ENV http_proxy http://<PROXY>
ENV https_proxy http://<PROXY>
到我的 Dockerfile 但没有成功。
我还尝试将我的代理设置为http://<USER>:<PASS>@<PROXY>
,但再次没有成功。
我能够拉取 Docker 镜像。当我将代理设置设置为no proxy,我无法提取图像,所以我猜我的代理 URL 是正确的。
还有什么想法我还可以尝试吗?
Edit:
我还尝试添加我们的 DNS 服务器(列在ipconfig /all
)进入Docker设置,但再次没有成功。
Edit2:我刚刚意识到我忘记了“http://“在我的 Ubuntu Dockerfile 中。添加此内容后,docker build
现在在 ubuntu 上工作得很好 - 但是only对于Ubuntu。它仍然不起作用centos
and alpine
.
这是我的全部 3 个 Dockerfile:
Ubuntu:
FROM ubuntu
ENV http_proxy "http://<MY-PROXY>"
ENV https_proxy "http://<MY-PROXY>"
RUN apt-get update
CentOS:
FROM centos
ENV http_proxy "http://<MY-PROXY>"
ENV https_proxy "http://<MY-PROXY>"
RUN yum update
Alpine:
FROM alpine
ENV http_proxy "http://<MY-PROXY>"
ENV https_proxy "http://<MY-PROXY>"
RUN apk update
错误信息:
CentOS:
Step 4/4 : RUN yum update
---> Running in 3deecb71823d
Loaded plugins: fastestmirror, ovl
One of the configured repositories failed (Unknown),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
[...]
Cannot find a valid baseurl for repo: base/7/x86_64
Alpine:
Step 4/4 : RUN apk update
---> Running in 76c8579734cf
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.6/main: could not connect to server (check repositories file)
WARNING: Ignoring APKINDEX.84815163.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
2 errors; 11 distinct packages available
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.6/community: could not connect to server (check repositories file)
WARNING: Ignoring APKINDEX.24d64ab1.tar.gz: No such file or directory
The command '/bin/sh -c apk update' returned a non-zero code: 2