【发布时间】:2015-11-02 22:56:12
【问题描述】:
我正在尝试将许多 docker 容器配置为从 vagrant 运行,但是公司代理阻止了 boot2docker 的下载,这是在 Vagrant 在不支持容器的操作系统上运行时下载的 VM;该错误是 SSL 验证错误。我的公司代理进行 MITM 内容检查,因此它用自己的证书替换了 HTTPS 证书。
我已经设置了 http_proxy (etc) 环境变量并尝试了 config.vm.box_download_insecure 和 config.vm.box_download_ca_cert(使用包含代理证书的自定义 cacert.pem)。
此配置有效:
Vagrant.configure(2) do |config|
#config.vm.box_download_insecure = "true"
config.vm.box_download_ca_cert = "cacert.pem"
config.vm.box = "hashicorp/precise64"
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.cpus = "2"
end
end
这不是:
Vagrant.configure(2) do |config|
#config.vm.box_download_insecure = "true"
config.vm.box_download_ca_cert = "cacert.pem"
config.vm.provider "docker" do |d|
d.build_dir = "../path/to/docker"
d.has_ssh = true
end
end
有没有人知道为什么它不起作用?
更新:
Frederick 在下面提供了一个合适的解决方法,但它强调我的问题问得太快了。
Vagrant 的 docker 提供程序的一个特点是,当用户调用“vagrant up”时,它会在需要时(例如在 Windows 或 OSX 上运行)自动下载 boot2docker。所以有问题的开发人员并不需要关心他是否需要代理虚拟机,它会工作的。
我可以指导那些在 windows 上手动安装盒子(无论如何他们都必须安装其他依赖项,如 cygwin),但如果说明更统一,它只会更容易。
【问题讨论】: