我正在尝试配置一些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
有没有人知道为什么它不起作用?
更新
弗雷德里克在下面提供了一个合适的解决方法,但它突出显示我过快地问了我的问题。
Vagrant的docker提供程序的一个功能是,如果需要(例如在Windows或OSX上运行),当用户调用“vagrant up”时,它将自动下载boot2docker。所以有问题的开发人员并不需要关心他是否需要代理服务器,它只会工作。
我可以指示Windows上的那些人手动安装盒子(他们必须安装其他依赖项,比如cygwin),但如果说明更加统一,它会更容易。
答案 0 :(得分:1)
您是否尝试直接添加boot2docker框,如
vagrant box add --insecure hashicorp/boot2docker