所以我一直在使用支持docker beta的新版Vagrant(osx和windows上的本地docker)。虽然我在通过主机名连接到每个容器方面遇到了麻烦。
我只运行2个容器:1个用于apache,另一个用于postgres。这些工作正常,并且正确链接 从apache容器(C1)我可以连接到postgres容器(P1)。 从主机我可以使用暴露的端口连接到两者。
我现在真正想要添加的是使用主机名连接到C1的能力,以便我可以访问Web应用程序的后端/前端。
我曾与vagrant-hostmanager和vagrant-hostsupdater玩游戏,但这些似乎不适用于docker provider。
我猜我唯一的选择是分叉上面的一个项目并开始研究我需要的功能,我想先在这里问一下。如果有人知道更多,可以指出我的方向是正确的。
编辑:当前将主机名添加到主机为127.0.0.1,别名的名称有效,尽管最终目标是自动执行此操作,以便不会错过该步骤。
编辑:下面是我用于postgres的流浪文件的示例
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'
Vagrant.configure("2") do |config|
config.vm.define "dev_postgres" do |db|
db.vm.hostname = "db.dev.lan"
db.vm.provider "docker" do |d|
d.image = "postgres:9.4"
d.ports = %w(5432:5432)
d.remains_running = true
d.force_host_vm = false
d.create_args = %w(-e POSTGRES_PASSWORD=password)
end
end
end