Linux VMware机器上的Docker:apt-get和proxy出错

Nic*_*ick 6 vmware proxy apt docker

我有一台带有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
Run Code Online (Sandbox Code Playgroud)

它给了我:

错误: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'
Run Code Online (Sandbox Code Playgroud)

并得到此错误:

错误:1 http://security.ubuntu.com/ubuntu xenial-security InRelease临时故障解决'proxy_adress'

我是否必须更改VMware配置中的某些内容?或者在Dockerfile中?

谢谢

Tar*_*ani 2

我假设您可能位于公司网络中,并且需要进行两项更改。

$ cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.X.Y.Z
search myorg.org
Run Code Online (Sandbox Code Playgroud)

您需要在 docker 守护进程配置中设置这些。/etc/docker/daemon.json您可以通过创建包含以下内容的文件来完成此操作

{
  "dns": ["10.X.Y.Z"],
  "dns-search": ["myorg.org"]
}
Run Code Online (Sandbox Code Playgroud)

实际值将取决于您获得的输出。

您还需要更改代理设置并将其应用到 docker 服务嵌入式文件中。这可以按照以下线程中列出的方式完成

查找registry-1.docker.io:没有这样的主机(与VonC已经指出的相同)

Nodemailer 与 Docker