我有一台带有linux mint 18.3的VMware机器(主机是Windows 10)。主机在代理后面。客户机(linux mint)网络配置为“Bridged”?
我尝试在来宾操作系统上编写一个简单的Dockerfile并构建它但是有apt-get命令的问题:
FROM ubuntu:xenial
RUN apt-get update && apt-get install -y \
bzip2 \
g++ \
make \
ncurses-dev \
wget \
zlib1g-dev
它给了我:
错误:1 http://security.ubuntu.com/ubuntu xenial-security InRelease 临时故障解决'security.ubuntu.com'
我尝试添加Dockerfile:
ENV http_proxy 'http://proxy_adress:3128'
ENV https_proxy 'http://proxy_adress:3128'
并收到此错误:
错误:1 http://security.ubuntu.com/ubuntu xenial-security InRelease 临时故障解决'proxy_adress'
我是否必须更改VMware配置中的某些内容?或者在Dockerfile中?
由于
答案 0 :(得分:0)
在构建时不需要向Dockerfile添加ENV
:在docker构建期间,唯一需要代理的是docker守护程序。
请参阅" Control Docker with systemd",特别是" HTTP/HTTPS proxy"
/etc/systemd/system/docker.service.d/http-proxy.conf
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporatio
其次是:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
Verify that the configuration has been loaded:
$ systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/
答案 1 :(得分:0)
这与dns服务器有关。
尝试将默认dns服务器发送到另一个服务器,例如:114.114.114.114:
sed -i 's/\(nameserver\) .*/\1 114.114.114.114/' /etc/resolv.conf
答案 2 :(得分:0)
您的容器似乎无法解析代理的主机名。因此,在构建容器时,请传递以下附加参数:
--dns=IP_ADDRESS...
这样做:
将添加为名称服务器行的IP地址设置为容器的/etc/resolv.conf文件。当遇到不在/ etc / hosts中的主机名时,容器中的进程将连接到端口53上的这些IP地址,以寻找名称解析服务。
来源:https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/