Vagrant 1.6 の Docker プロバイダーを利用しようとしていますが、問題が発生したようです。Docker コンテナーとゲスト OS を正常に立ち上げることができますが、ホスト OS からコンテナー内で立ち上げたサービスにアクセスできません。これが私の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
私の理解では、vagrant up --provider=docker
OS X で実行すると、boot2docker を実行している VM が起動し、それがコンテナーを実行します。実行vagrant docker-logs
すると、コンテナが作成され、サービスが開始されたことを確認できるようですが、OS X ホストからサービスにアクセスする方法が今のところわかりません。標準の VirtualBox プロバイダーを使用していた場合、ディレクティブが転送を処理することを期待しますconfig.vm.network :forwarded_port
が、それを追加しても違いはないようです。
OS X ホストからこのサービスにアクセスできるようにするには、どうすればよいですか?
更新: 参考までに、イメージの Dockerfile は次のとおりです: https://github.com/moul/docker-icecast/blob/master/Dockerfile