環境
- OSX(10.8.5)
- Vagrant 1.4.0
- Docker 0.7.2
- Api version 1.4
設定
Vagrant
まずvagrant内にmacからアクセス出来るようにする必要がある
Vagrantfileをこんな感じで用意した
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "precise64"
config.vm.provision :shell, :path => "bootstrap.sh"
config.vm.network :forwarded_port, host: 4567,guest: 80
config.vm.network :forwarded_port, host: 4243,guest: 4243
config.vm.network :forwarded_port, host: 9000,guest: 9000
config.vm.network "private_network", ip: "X.X.X.X"
config.vm.provision "docker" do |d|
d.run "ubuntu",
cmd: "bash -l",
args: "-v '/vagrant:/var/www'"
end
end
bootstrap.shはこんなん
#!/usr/bin/env bash apt-get update apt-get install -y apache2 rm -rf /var/www ln -fs /vagrant /var/www
ちなみにこのbootstrap.shは公式サイトのを持ってきた
これでupしてsshする
$ vagrant up $ vagrant ssh
Docker
次に、Docker Remote APIを有効にする為にdockerの設定を書き換える
$ sudo apt-get -y install vim #=> vimのインストール
$ sudo vim /etc/init/docker.conf
#以下の内容に変更する
description "Docker daemon"
start on filesystem and started lxc-net
stop on runlevel [!2345]
respawn
script
#DOCKER=/usr/bin/$UPSTART_JOB
#DOCKER_OPTS=
#if [ -f /etc/default/$UPSTART_JOB ]; then
# . /etc/default/$UPSTART_JOB
#fi
#"$DOCKER" -d $DOCKER_OPTS
/usr/bin/docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d -api-enable-cors
end script
ここで、DOCKERとかいう所が最初から書いてあるので、コメントアウトしてしまう
で、stop & start
$ sudo stop docker $ sudo start docker
これでDocker Remote APIが使えるようになったと思うので確認
$ curl -X GET http://X.X.X.X:4243/containers/json?all=1 # => それらしいものが出て来たら成功
mac側の端末でも同じのを確認して成功したら大丈夫だと思う
DockerUI
最後にDockerUIの設定
$ docker pull crosbymichael/dockerui $ docker run -d -p 9000:9000 crosbymichael/dockerui -e="http://X.X.X.X:4243" $ docker ps #=> runしてるか確認
これで、mac側のブラウザでhttp://X.X.X.X:9000にアクセスすると、DockerUIにアクセス出来るはず