当前位置: 首页 > 知识库问答 >
问题:

Windows 10上的Docker代理传播到容器不工作

涂煌
2023-03-14

我在windows 10上支持合作代理和运行docker。我已经按照这里的文档在docker上设置了代理。

我能够拉图像,但这些代理设置不传播到容器,例如,当我运行阿尔卑斯环境,它不显示代理conf。下面是我的输出

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

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

在构建下面的docker文件,我得到连接错误从高山集装箱

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                                

将代理作为生成参数传递

我尝试了下面的命令,它成功了。是否有其他方法可以自动传播文档中提到的代理设置(请参阅上面的链接)

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

共有2个答案

狄天逸
2023-03-14

我努力让它发挥作用,但最终找到了一个可行的解决方案。

我在一个公司代理后面,在窗口上正确配置了一个CNTLM,并在我的docker桌面设置中与地址127.0.0.1:3128链接。我的docker在WSL2下运行。

这里的神奇提示是将您的容器代理链接到docker internal proxy主机。码头工人。内部

我不知道为什么我不能像对docker desktop config那样连接localhost代理(127.0.0.1:3128),我想docker运行一个内部代理作为访问windows网络的网关。

萧胜
2023-03-14

我也有同样的问题。提取图像正在工作,但预配容器不工作。在这种情况下,解决方案是为Docker提供一个名为~/. docker/config.json的配置文件,其内容如下。

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

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

 类似资料:
  • 问题内容: 我目前在公司中使用Docker-Compose运行开发堆栈,以向开发人员提供他们编写我们的应用程序所需的一切。 它尤其包括: 一个Gitlab容器(sameersbn / gitlab),用于管理私有GIT存储库, 一个用于构建和持续集成的Jenkins容器(library / jenkins), 一个Archiva容器(ninjaben / archiva-docker)管理Mave

  • 我在Centos7机器上安装了Docker,DNS不能在容器中工作。 因此,如果我在主机上运行,它将正确解析。但是,如果我执行,我会得到: 更新:这不仅发生在busybox上,在其他平台上也是如此。我的主要问题是无法运行从以下DockerFile构建的映像容器: docker-compose.yml: 这项服务运行良好,并在我的个人机器上运行最新的Ubuntu进行了测试

  • 我的输出: 我有损失“!

  • 我有两个docker容器由docker compose管理,似乎无法正确使用webpack将某些请求代理到后端api。 docker-compose.yml: 服务web是一个简单的react应用程序,由webpack开发服务器提供服务。服务返回是一个节点应用程序。 我没有问题从我的主机访问任何应用程序: 我还可以从web容器ping和curl back服务: 但是我有一个问题与代理。Webpac

  • 我已经追了差不多一个星期了,都不能让它起作用。我已经在我的Ubuntu14.04笔记本电脑上安装了Docker1.0.1。当我启动RHEL/Fedora/CentOS容器并安装sshd时,我无法建立ssh连接。用Ubuntu容器做同样的事情很好。 以下是ssh尝试的调试输出: 用于连接到容器的命令:ssh mb@localhost-p 14022

  • 在使用cypress cucumber预处理器时,我的package.json中有以下内容 当我运行npm时,运行ci-test,它可以工作,所有使用@othertag的场景都会被忽略。 但却找不到任何标记。