Macでboot2dockerからdocker-machineに移行
自分は開発する際に、vagrantをメイン使いとしていて、インフラのテストなんかはdockerでtest-kitchenするという使い分けをしていたのだが、久しくdocker触っていなかったら、気が付いたらこんなメッセージが出ていた。
さようでございますかというわけで、docker-machineに移行してみたので自分メモ。
最終系としてはこうなります
dockerバージョン確認
brewでdocker-machineインストール(5分)
boot2docker確認
$ brew list | grep boot2docker
boot2docker
はいはい、いますね。
$ boot2docker status
running
当然、boot2dockerが動いていますね。
boot2docker停止
コンテナの確認
% docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d38355a0d607 centos65-nginx-unicorn-rvm "/usr/sbin/sshd -D" 59 minutes ago Up 59 minutes 0.0.0.0:32770->22/tcp boring_poitras
boot2docker停止
$ boot2docker stop
$ boot2docker config | grep VM
VM = "boot2docker-vm"
VirtualBox上でもVMマシンが電源オフになりました。
docker-machineインストール
$ brew install docker-machine
boot2dockerからdocker-machineへdockerホスト移行(5分)
$ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm docker-host1
docker-machine起動確認(5分)
$ docker-machine env docker-host1
環境変数のセット
eval "$(docker-machine env docker-host1)"
dockerコンテナの確認
% docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd938b401ff8 centos65-nginx-unicorn-rvm "/usr/sbin/sshd -D" 6 hours ago Exited (255) 3 hours ago develop
接続確認
$ docker-machine ssh docker-host1 ## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.9.1, build master : cef800b - Fri Nov 20 19:33:59 UTC 2015
Docker version 1.9.1, build a34a1d5
まとめ
雑にまとめるとboot2dockerからdocker-machineへ移行するのは
時間がかからないので、移行すべし。今回は説明しないけど
boot2dockerと違って、複数のdockerホストを構築出来るし、docker-composeが結構頭よくて便利です。
- 移行自体は意外と時間かからない
- 今回説明してないけどdocker-composeとか便利
- コンテナ立ち上がるの早い
今後はdockerネタも手元にmarkdownたくさんあるので
小出しにアップしていこうっと。