在docker容器中设置代理
我正在尝试创建Docker容器,需要在其中使用apt get install命令。现在看起来是这样的:在docker容器中设置代理,docker,proxy,Docker,Proxy,我正在尝试创建Docker容器,需要在其中使用apt get install命令。现在看起来是这样的: FROM ubuntu:18.04 RUN apt-get update && apt-get install -y \ build-essential \ cmake 不幸的是,当我试图构建它时,我得到了一些关于代理的错误。我在公司代理的背后工作,我希望我的容器能在这种条件下正常工作 我在网上读了一些书,没有什么选择: 选项1 FROM ub
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y \
build-essential \
cmake
不幸的是,当我试图构建它时,我得到了一些关于代理的错误。我在公司代理的背后工作,我希望我的容器能在这种条件下正常工作
我在网上读了一些书,没有什么选择:
选项1
FROM ubuntu:18.04
ENV http_proxy <HTTP_PROXY>
ENV https_proxy <HTTPS_PROXY>
RUN apt-get update && apt-get upgrade
选项3
docker build --build-arg http_proxy=$http_proxy
--build-arg https_proxy=$https_proxy -t mytest_docker .
基于
但是,这些选项都不起作用,我总是遇到同样的错误:
Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Temporary failure resolving 'corporate_proxy'
Err:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Temporary failure resolving 'corporate_proxy'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Temporary failure resolving 'corporate_proxy'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Temporary failure resolving 'corporate_proxy'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease Temporary failure resolving 'corporate_proxy'
公司代理只是实际(工作)代理的占位符
我确信代理地址是正确的,并且正在主机系统上工作,因为我通常可以下载所有内容。问题仅在于此docker映像
有什么建议可以解决吗
编辑#1
FROM ubuntu:18.04
ENV http_proxy <HTTP_PROXY>
ENV https_proxy <HTTPS_PROXY>
RUN apt-get update && apt-get upgrade
根据@Raoslaw Szamszur的回答,我做了更多的调试。不幸的是,结果仍然是一样的
我已经向config.json文件添加了值,并重新启动了守护进程。接下来我又试了一次,用同样的结果做了所有的选择
我还想使用以下代码运行Ubuntu docker:
docker run --name ubunut -it -p <port_http>:<port_http> -p <port_https>:<port_https> ubuntu:18.04
docker-run——名称ubunut-it-p:-p:ubuntu:18.04
一旦它运行,apt get将无法下载任何内容,并打印出与以前相同的错误类型
这也是这个容器在列表中的外观
docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6fdeaec3ad9 ubuntu:18.04 "/bin/bash" 3 minutes ago Up 3 minutes 0.0.0.0:<http_port>-<https_port>-><http_port>-<https_port>/tcp ubunut
docker容器ls--全部
容器ID映像命令已创建状态端口名称
e6fdeaec3ad9 ubuntu:18.04“/bin/bash”3分钟前启动3分钟0.0.0.0:-->-/tcp ubunut
由于问题可能很复杂,我将尝试在此处进行故障排除
选项1
FROM ubuntu:18.04
ENV http_proxy <HTTP_PROXY>
ENV https_proxy <HTTPS_PROXY>
RUN apt-get update && apt-get upgrade
首先尝试从ubuntu映像运行clean容器,并尝试使用代理连接。但别忘了绑定端口:
docker run -dit --name=<conatiner-name> -p <proxy_port>:<proxy_port> ubuntu
尝试添加以下内容:
{
"proxies":
{
"default":
{
"httpProxy": "http://corporate_proxy:port",
"httpsProxy": "http://corporate_proxy:port",
"noProxy": "*.test.example.com,.example2.com"
}
}
}
我很难重现这个问题,我会继续考虑其他可能性 谢谢你的建议。我已经编辑了我的答案以回应他们。@sebap123尝试如下
docker run--name ubunut-it-p:-p:--env http_proxy=http://corporate_proxy:port --环境https_代理=http://corporate_proxy:port ubuntu:18.04
你能从容器中ping吗?或者网络上的任何东西?