【发布时间】:2014-07-15 08:16:07
【问题描述】:
我目前正在尝试将我的 docker 容器端口从容器映射到主机 (boot2docker)。最终目标是将这些端口映射到我的物理机上,但一步一步。
我的 Vagrantfile 目前看起来像:
Vagrant.configure("2") do |config|
config.vm.define "app1" do |a|
a.vm.provider "docker" do |d|
d.build_dir = "dockers/app1"
d.name = "app1"
d.ports << "8080:8080"
d.ports << "8443:8443"
d.volumes << "/vagrant/data/app1:/var/app1"
end
end
config.vm.define "app2" do |a|
a.vm.provider "docker" do |d|
d.build_dir = "dockers/app2"
d.name = "app2"
d.ports << "8081:8081"
d.link("app1:app1")
end
end
end
当我运行 vagrant up app1 --provider=docker 时,容器正确启动,但是当我执行 docker ps 时,我可以看到端口尚未映射。
0.0.0.0:2222->22/tcp, 8080/tcp, 8443/tcp
我正在使用 VirtualBox,所以我使用它的 GUI 将我的物理机 8080 端口转发到主机 (boot2docker) 8080。
【问题讨论】:
-
你能粘贴 docker inspect 的输出吗?
-
你使用的是 Vagrant 1.6.0 还是 1.6.1?看起来这可能是 1.6.2 中修复的问题:github.com/mitchellh/vagrant/issues/3723
标签: vagrant docker vagrantfile boot2docker