加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows 10中的Docker代理传播到容器无法正常工作

发布时间:2020-12-14 02:47:45 所属栏目:Windows 来源:网络整理
导读:我在 Windows 10上支持合作代理并运行docker.我已根据 documentation here在docker上设置代理. 我能够提取图像,但这些代理设置不会传播到容器,例如当我运行alpine env时,它不显示代理配置.以下是我的输出 λ docker run alpine env PATH=/usr/local/sbin:/us
我在 Windows 10上支持合作代理并运行docker.我已根据 documentation here在docker上设置代理.

my docker proxy settings

我能够提取图像,但这些代理设置不会传播到容器,例如当我运行alpine env时,它不显示代理配置.以下是我的输出

λ docker run alpine env                                          
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  HOSTNAME=14fca5bee12f                                            
  HOME=/root

以下是根据文档的预期输出.

exptected output

在构建以下docker文件时,我从alpine容器中获取连接错误

Docker版本

Docker version 17.12.0-ce,build c97c6d6

DockerFile

FROM alpine:latest
ADD HelloWorld.class HelloWorld.class
RUN apk --update add openjdk8-jre
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","HelloWorld"]

错误

Step 3/4 : RUN apk --update add openjdk8-jre                                                                      
 ---> Running in 1205b24d5044                                                                                     
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: could not connect to server (check repositories file)      
WARNING: Ignoring APKINDEX.70c88391.tar.gz: No such file or directory                                             
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz                                  
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/community: could not connect to server (check repositories file) 
WARNING: Ignoring APKINDEX.5022a8a2.tar.gz: No such file or directory                                             
ERROR: unsatisfiable constraints:                                                                                 
  openjdk8-jre (missing):                                                                                         
    required by: world[openjdk8-jre]                                                                              
The command '/bin/sh -c apk --update add openjdk8-jre' returned a non-zero code: 1

将代理传递为build-arg

我尝试了以下命令,它工作正常.有没有其他方法可以自动传播代理设置,如文档中所述(请参阅上面的链接)

docker build --tag "docker-hello-world:latest" . --build-arg http_proxy=http://<username>:<password>@proxy_address:proxy_port/ --build-arg https_proxy=http://<username>:<password>@proxy_address:proxy_port/ --build-arg no_proxy=localhost,127.0.0.1

解决方法

我有同样的问题.拉图像工作正常但配置容器不起作用.在这种情况下,解决方案是为Docker提供名为?/ .docker / config.json的配置文件,其中包含以下内容.

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://proxy.server....com:8080","httpsProxy": "https://proxy.server.....com:8080"
   }
 }
}

我希望这能解决你的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读