docker机器在公司代理之后
我正在尝试使用docker-machine在私有云(Openstack)上创build一个位于公司http代理之后的实例。
是否有可能告诉docker机使用代理或我需要有一个已经预先configurationhttp_proxy envvariables的一瞥图像?
对于当前的docker机器版本,我找不到像boot2docker中更好的方法( Docker / Boot2Docker:为OS X上的docker设置HTTP / HTTPS代理 )
如果您在docker机器上的/ var / lib / boot2docker / profile中手动设置代理,重新启动代理后,代理设置将被自动删除。
所以我必须创build一个--engine-env
机器,其中包含--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的答案。
参考:
创builddocker机器
如前所述,您可以在此处编辑文件
$HOME\.docker\machine\machines\default\config.json
并设置HTTP_PROXY,HTTPS_PROXY和NO_PROXYvariables(或删除它们):
"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
现有的docker机configuration可以修改为代理添加环境。 可以编辑$ HOME / .docker / machine / machines //。config.json中的config.json。
在config.json中添加“HTTP_PROXY = http://example.com:8080 ”到Env。 重新启动机器,然后你就完成了。
如果您已经创build了机器(VM),则可以像这样configuration代理:
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
资源
- 如果configuration了registry镜像,则从Docker集线器中提取图像
- docker-machine scp从本地目录到机器
- 使用Docker Kitematic,我怎样才能切换到不同的docker机?
- Docker-machine:如何正确执行一个ssh命令?
- boot2docker和docker-machine IP地址的稳定性/可靠性如何?
- Docker Windows 7:无法findMAC地址错误的匹配IP
- 无法更改在MAC上使用docker-machine安装的主机目录的所有权
- 如何更改“默认”docker机的DNS设置
- 如何使用docker-machine自定义virtualboxconfiguration?