我终于弄明白了在windows 7上如何正确地在带有https证书的公司代理后面设置docker工具箱。
以下是步骤
-
安装Docker工具箱
-
安装后,转到
C:/users//.docker/machine/machine/default
打开config.json。如果没有该文件夹,请从桌面打开“Docker快速启动终端”,为自己创建一个虚拟的Box Docker机器。
-
在下面添加以下行
{
"HostOptions": {
...
"EngineOptions": {
...
"Env": [
"HTTP_PROXY=http://<username>:<pwd>@<host>:<port>",
"HTTPS_PROXY=http://<username>:<pwd>@<host>:<port>",
"NO_PROXY=<docker-machine ip>"
],
}
}
}
请注意https\u代理中的http。
4。完成以上步骤后,您需要安装公司证书
5。获取公司根证书集,该证书应安装在公司配置的浏览器中。在chrome中,可以转到“设置”,单击“显示高级设置”,然后向下滚动到https/ssl,从中可以选择“管理证书”。我的组织已将它们置于可信任的根清除权限中,并以该组织的名称命名。导出每个(我有两个),一次一个,确保选择订单格式。
-
将它们保存到已知位置后,您将希望将它们转换为PEM格式。我发现最简单的方法是在Docker快速启动终端中运行openssl.exe[1]命令。
openssl x509-通知der-in certificate.cer-out certificate.pem
-
一旦你有了.pem文件,你就会想把它们复制到你的Docker机器可以访问的位置。我在C:\users\my.username\certs中创建了一个目录并将它们复制到那里。
-
这一步可能不是绝对必要的,但这是我所做的,而且是有效的。您需要将这些证书复制到持久的boot2docker分区中。我正在连接到我的默认计算机,这是您在步骤5中需要做的事情。
mingw64:$docker machine ssh默认值
docker@默认值:~$sudo-s
根@default:/home/docker\mkdir/var/lib/boot2docker/certs
root@default:/home/docker cp/c/users/my.username/certs/*.pem
/var/lib/boot2docker/证书/
现在是编写bootlocal.sh脚本的时候了,该脚本将在每次系统启动时将证书复制到正确的位置。[2]如果还没有,请按照步骤4打开到计算机的ssh连接。
触摸/var/lib/boot2docker/bootlocal.sh&chmod+x/var/lib/boot2docker/bootlocal.sh
vi/var/lib/boot2docker/bootlocal.sh文件
插入以下内容并保存文件:
!/bin/SH
mkdir-p/etc/docker/certs.d&cp证书/证书.pem
/etc/docker/certs.d文件
从计算机内部使用reboot命令或从Docker终端使用Docker machine命令重新启动计算机:
Docker机器重新启动默认值
现在你应该可以运行“hello world”和其他程序了。我希望这能有帮助。
裁判:
Docker on Windows (Boot2Docker) - certificate signed by unknown authority error