公司代理背后的码头工程师

时间:2015-07-02 15:47:35

标签: docker openstack docker-machine

我正在尝试使用docker-machine在公司http代理后面的私有云(Openstack)上创建实例。

是否可以告诉docker-machine使用代理,或者我是否需要使用http_proxy env变量预先配置一眼图片?

5 个答案:

答案 0 :(得分:32)

如前所述,您可以在

编辑文件
$HOME\.docker\machine\machines\default\config.json

并设置HTTP_PROXY,HTTPS_PROXY和NO_PROXY变量(或删除它们):

 "HostOptions": {
        "Driver": "",
        ...
        "EngineOptions": {
           ...
            "Env": [
              "HTTP_PROXY=http://10.121.8.110:8080",
              "HTTPS_PROXY=http://10.121.8.110:8080",
              "NO_PROXY=192.168.23.4"
            ],

文件编辑完成后,您只需执行:

docker-machine provision 

答案 1 :(得分:24)

使用当前的docker机器版本,我找不到更好的方法来进行更改,如boot2docker(Docker/Boot2Docker: Set HTTP/HTTPS proxies for docker on OS X

如果在docker machine中的/ var / lib / boot2docker / profile中手动设置代理,重启后,代理设置将自动删除。

所以我必须创建一个为--engine-env设置代理

的泊坞机
docker-machine create -d virtualbox \
    --engine-env HTTP_PROXY=http://example.com:8080 \
    --engine-env HTTPS_PROXY=https://example.com:8080 \
    --engine-env NO_PROXY=example2.com \
    proxybox

注意:

  这是一个两年前的答案,发生了很多变化   docker,所以如果你仍然不能让它在代理后面工作,请   阅读@Senri's answer

文档:create docker machine

答案 2 :(得分:5)

可以修改现有的docker-machine配置以为代理添加环境。可以编辑$ HOME / .docker / machine / machines // .config.json中的config.json。

在config.json中将“HTTP_PROXY = http://example.com:8080”添加到Env。重新启动机器,你就完全了。

答案 3 :(得分:2)

如果您已经创建了计算机(VM),则可以像这样配置代理:

1- SSH into the docker dev host: docker-machine ssh dev
2- Add the following lines to /var/lib/boot2docker/profile (this file is read-only, use sudo)
    export HTTP_PROXY=http://<proxy>:<port>
    export HTTPS_PROXY=http://<proxy>:<port>
3- Exit the ssh session and restart the docker machine: docker-machine restart dev 

Source

答案 4 :(得分:1)

从Docker 18.09开始,我们可以在命令行上指定环境变量,例如代理到容器的容器,例如:

docker run --env HTTP_PROXY="172.10.13.14" -it myImage:latest /bin/bash

此外,我们可以通过将其写入~/.docker/config.json文件中来将这些设置指定给docker客户端,如下所示:

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://127.0.0.1:3001",
     "noProxy": "*.test.example.com,.example2.com"
   }
 }
}

更多信息,请访问docs