我正在尝试使用Vagrant 1.6的Docker提供程序,但似乎遇到了问题。我可以成功地启动Docker容器和客户端操作系统,但是从主操作系统无法访问我在容器中启动的服务。这是我的Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.network :forwarded_port, guest: 8000, host: 8000
config.vm.define "icecast" do |v|
v.vm.provider "docker" do |d|
d.image = "moul/icecast"
d.ports = ["8000:8000"]
d.env = {
# SOURCE_PASSWORD: 'password',
ADMIN_PASSWORD: 'password',
# PASSWORD: 'password',
# RELAY_PASSWORD: 'password'
}
end
end
end
我理解的是,在 OS X 上运行 vagrant up --provider=docker
将启动一个运行boot2docker的VM,然后该VM将运行我的容器。运行vagrant docker-logs
似乎确认了我的容器已经创建并且服务已经启动,但我现在无法想出如何从我的OS X主机访问该服务。如果我使用标准的VirtualBox提供者,我预计config.vm.network :forwarded_port
指令可以处理端口转发,但添加该指令似乎没有任何效果。
我需要做什么才能从我的OS X主机访问此服务?
更新:供参考,这是镜像的Dockerfile:https://github.com/moul/docker-icecast/blob/master/Dockerfile