如何配置docker容器代理?

时间:2017-12-15 07:15:51

标签: docker proxy

我是码头工的新手。我尝试为debian设置代理:jessie图像,但我没有做到。我遵循这个link。我将所有这些应用于cat标签(例如:' cat> proxy.sh',因为未安装vi或其他编辑器)但是在apt-get update命令中有关于我的代理的错误。

错误照片

enter image description here

我的代理:http://username:password@proxy2.domain.com

2 个答案:

答案 0 :(得分:7)

您可以在启动容器时设置代理环境变量,例如:

docker container run \
  -e HTTP_PROXY=http://username:password@proxy2.domain.com \
  -e HTTPS_PROXY=http://username:password@proxy2.domain.com \
  myimage

如果希望在启动容器时自动使用代理服务器,则可以在Docker CLI配置文件(~/.docker/config.json)中配置默认​​代理服务器。您可以在用户指南的networking section中找到相关说明。

例如:

{
  "proxies": {
    "default": {
      "httpProxy": "http://username:password@proxy2.domain.com",
      "httpsProxy": "http://username:password@proxy2.domain.com"
    }
  }
}

要验证~/.docker/config.json配置是否有效,请启动容器并打印其env

docker container run --rm busybox env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=220e4df13604
HTTP_PROXY=http://username:password@proxy2.domain.com
http_proxy=http://username:password@proxy2.domain.com
HTTPS_PROXY=http://username:password@proxy2.domain.com
https_proxy=http://username:password@proxy2.domain.com
HOME=/root

答案 1 :(得分:1)

您需要指示apt脚本通过容器内的代理进行连接

# echo 'Acquire::http::proxy "proxy:port/";' > /etc/apt/apt.conf.d/40proxy

请记住,这应该写在容器内

并且在运行docker的计算机中,应该像之前在评论中所述的那样配置代理服务器