環境
- 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にアクセス出来るはず