確認環境
HOST: Mac OSX 10.9
Docker HOST: ubuntu 14.0.4
VirtualBoxにホストオンリーネットワークアダプターを追加(Mac側)
$ ADAPTER=$(VBoxManage hostonlyif create | egrep -o "vboxnet[0-9]+")
$ VBoxManage hostonlyif ipconfig $ADAPTER --ip 192.168.56.1 --netmask 255.255.255.0
$ VBoxManage dhcpserver add --ifname $ADAPTER --ip 192.168.56.100 --netmask 255.255.255.0 --lowerip 192.168.56.101 --upperip 192.168.56.254
$ VBoxManage dhcpserver modify --ifname $ADAPTER --enable
vagrantでdockerの動くubuntuを用意(Mac側)
$ vagrant box add ubuntu-14.04-amd64-vbox https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/ubuntu-14.04-amd64-vbox.box
$ mkdir ubuntu-docker
$ cd ubuntu-docker
$ vagrant init ubuntu-14.04-amd64-vbox
$ sed -i "" -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.56.254"/g' ./Vagrantfile
ブリッジネットワークの設定(ubuntu側)
$ vagrant up
$ vagrant ssh
$ sudo su
$ apt-get install -y bridge-utils arping
$ curl -sSL https://get.docker.io/ubuntu/ | sudo sh
$ sed -i -e '$d' /etc/rc.local
$ echo "/sbin/brctl addbr docker1" >> /etc/rc.local
$ echo "/sbin/ip addr add 192.168.0.1/24 dev docker1" >> /etc/rc.local
$ echo "/sbin/ifconfig docker1 up" >> /etc/rc.local
$ echo "/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE" >> /etc/rc.local
$ echo "exit 0" >> /etc/rc.local
pipeworkのインストール(ubuntu側)
$ cd /usr/local/bin
$ wget https://raw.githubusercontent.com/jpetazzo/pipework/master/pipework
$ chmod +x pipework
設定を反映するためにリブートする(Mac側)
$ vagrant reload
ルーティングを設定(Mac側)*
$ sudo route add -net 192.168.0.0/24 192.168.56.254
ssh-serverが動作するイメージを用意する(ubuntu側)
$ docker pull sylvainlasnier/ssh
コンテナ起動(ubuntu側)
$ CID=$(docker run -d sylvainlasnier/ssh)
コンテナにipを割り振る(ubuntu側)
$ pipework docker1 $CID 192.168.0.2/24@192.168.0.1
sshログインしてみる(Mac側)
$ ssh root@192.168.0.2
ホスト側からDockerを操作出来るようにする
Dockerの起動オプションを変更(ubuntu側)
$ sed -i -e 's/DOCKER_OPTS=/DOCKER_OPTS="-H=tcp:\/\/0.0.0.0:4243"/g' /etc/init/docker.conf
$ service docker restart
zshenv等に下記を追加
export DOCKER_HOST=tcp://192.168.56.254:4243
boot2dockerみたいにMac側からdockerを操作出来るようになる