docker-machineを使ってみる

Install for Mac

brew でサクッといけます。

brew install docker
brew cask install docker-machine

docker-machine

https://docs.docker.com/machine/#osx-and-linux

dockerを利用する土台用の仮想環境を構築する。
(boot2dockerではじめに作成した環境と同じ)
boot2docker init
boot2docker ssh で接続した環境

今回は、virtualboxを使って環境の構築を行います。
メモリーやディスクの設定は、お好きにどうぞ。

docker-machine create -d virtualbox --virtualbox-disk-size "20000" --virtualbox-memory "2048" dev

dockerコマンドを利用するためには、eval "$(docker-machine env dev)"が必要です。

eval "$(docker-machine env dev)"
docker ps

簡単ですね。

dockerにアクセスする方法

# dockerを動かしているサーバにアクセス
docker-machine ssh dev
tce-load -wil util-linux
# アクセスしたいコンテナIDを設定すればおk
sudo nsenter --target $(docker inspect --format '{{.State.Pid}}' アクセスしたいコンテナID) --mount --uts --ipc --net --pid
# 例
sudo nsenter --target $(docker inspect --format '{{.State.Pid}}' 2f1688b9fbe9) --mount --uts --ipc --net --pid

zshの設定

.zshrcなどにeval "$(docker-machine env dev)"を記入しておく

docker-machineが起動してない場合でターミナルを開くと

dev is not running. Please start this with docker-machine start dev

という内容が出るので安心。

感想

今回はローカルのリソースを使ったので、boot2dockerとあまり変わらなかった。