Proxy 为什么我不能从Vagrant VM中解析docker.io和代理后面的其他主机
我使用2个docker容器运行Vagrant,当不使用公司代理时效果良好,但当我使用公司代理并尝试运行Vagrant时,我不断得到:Proxy 为什么我不能从Vagrant VM中解析docker.io和代理后面的其他主机,proxy,vagrant,virtualbox,docker,boot2docker,Proxy,Vagrant,Virtualbox,Docker,Boot2docker,我使用2个docker容器运行Vagrant,当不使用公司代理时效果良好,但当我使用公司代理并尝试运行Vagrant时,我不断得到: https://index.docker.io/v1/repositories/dockerfile/ubuntu/images: dial tcp: lookup index.docker.io: no such host 我在vagrant里面用 VAGRANT_HTTP_PROXY="http://proxy.example.com:8080/" vag
https://index.docker.io/v1/repositories/dockerfile/ubuntu/images:
dial tcp: lookup index.docker.io: no such host
我在vagrant里面用
VAGRANT_HTTP_PROXY="http://proxy.example.com:8080/" vagrant up
我也无法在公司代理上使用vagrant中的nslookup解析主机
我已尝试按照建议在Vagrant文件中包含以下内容:
config.vm.provider:virtualbox do | vb|
vb.customize[modifyvm,:id,-natdnsproxy1,on]
vb.customize[modifyvm,:id,-natdnshostresolver1,on]
终止
我还尝试使用桥接连接,按照建议重新启动docker服务器,并在mac上交换我的DNS,我在其他地方看到了建议,但找不到链接
我非常感谢您的帮助/指导,如果与此相关,我将在运行OSX 10.9和virtual box的macbook上运行vargrant 1.6.5,这是我的vagrant文件:
$start=不需要在Internet上解析名称,因为代理服务器解析名称。但是,如果没有安装docker,vagrant proxyconf不会配置代理。有两种方法可以解决此问题 在docker设置之前配置代理 无法更改配置文件。例如/etc/default/docker,/etc/sysconfig/docker 在使用shell provisioner进行配置之前,您需要配置代理,如下所示
# If you use RHEL write to /etc/sysconfig/docker
config_proxy = 'echo export http_proxy=$http_proxy >> /etc/default/docker'
config.vm.provision('shell',
inline: config_proxy)
config.vm.provision 'docker'
我简化了你的档案
使用docker安装的虚拟机盒
如果未安装docker,Vagrant proxyconf不会配置代理。如果使用docker安装的VM box,请配置代理
注:
Vagrant proxyconf 1.4.0始终重新启动docker,因此有时docker容器可能会损坏。
2014年12月22日发布的Vagrant proxyconf 1.4.2仅在代理配置更改时才重新启动docker。
您可以在ATLAS上找到docker安装的虚拟机盒。我找到了jess/nginx docker
我简化了你的档案
没有必要在Internet上解析名称,因为代理服务器解析名称。但是,如果没有安装docker,vagrant proxyconf不会配置代理。有两种方法可以解决此问题 在docker设置之前配置代理 无法更改配置文件。例如/etc/default/docker,/etc/sysconfig/docker 在使用shell provisioner进行配置之前,您需要配置代理,如下所示
# If you use RHEL write to /etc/sysconfig/docker
config_proxy = 'echo export http_proxy=$http_proxy >> /etc/default/docker'
config.vm.provision('shell',
inline: config_proxy)
config.vm.provision 'docker'
我简化了你的档案
使用docker安装的虚拟机盒
如果未安装docker,Vagrant proxyconf不会配置代理。如果使用docker安装的VM box,请配置代理
注:
Vagrant proxyconf 1.4.0始终重新启动docker,因此有时docker容器可能会损坏。
2014年12月22日发布的Vagrant proxyconf 1.4.2仅在代理配置更改时才重新启动docker。
您可以在ATLAS上找到docker安装的虚拟机盒。我找到了jess/nginx docker
我简化了你的档案
@chris snow我不明白您实际编辑的代码块中添加了什么。@chris snow我不明白您实际编辑的代码块中添加了什么。
VAGRANTFILE_API_VERSION = '2'
Vagrant.configure('2') do |config|
if Vagrant.has_plugin?('vagrant-proxyconf')
config.proxy.http = 'http://proxy:8080/'
config.proxy.https = 'http://proxy:8080/'
config.proxy.no_proxy = 'localhost,127.0.0.1'
end
config.vm.synced_folder '.', '/var/local/app'
# Ubuntu
config.vm.box = 'jess/ubuntu-precise-nginx-docker'
config.vm.provision 'docker' do |d|
d.build_image '/var/local/app/webApp', args: '-t sapvagrant/web_app'
d.build_image '/var/local/app/nodeService', args: '-t sapvagrant/node'
d.run 'sapvagrant/node', args: '--name node'
d.run 'sapvagrant/web_app', args: '-P -p 49166:80 --name web --link node:db'
end
end