へんてこのブログ

日々気づいたことや、最近やっていることを書いています

DockerUIを動かした

環境

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

参考になったサイト