読者です 読者をやめる 読者になる 読者になる

aspec7's garage

エンジニア生活の中で学んだことの備忘録

Docker for Mac Private beta が使えるようになったので早速使ってみた!

f:id:aspec7:20160318095017j:plain

Private beta を使うには

beta program for Docker for Mac and Docker for Windowsにアクセスして、DockerHubのアカウントでログインしてから申請します。
そのうち(2週間はかかった)メールでinvitation codeがダウンロード先の情報と一緒に送られてきます。
インストール時にinvitation codeを入力が必要で、入力して認証されると利用可能になります。

Docker toolbox を使ってる人

Docker toolboxでインストールされたコマンドたちはDocker.appのコマンドへのシンボリックリンクに置き換えられます。
以降、eval $(docker-machine env default)の呪文は不要になります。
既に環境変数が設定されている場合は削除します。

$ env | grep DOCKER
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_MACHINE_NAME=default
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/Users/hoge/.docker/machine/machines/default
$ unset ${!DOCKER_*}
$ env | grep DOCKER

Docker.appインストールした後の/usr/local/bin/の状況。
toolboxでインストールしていたコマンドたちは、*.backupに置き換えられています。

$ ls -l /usr/local/bin/docker*
lrwxr-xr-x  1 hoge  staff        68  4 15 06:13 /usr/local/bin/docker -> /Users/hoge/Library/Group Containers/group.com.docker/bin/docker
lrwxr-xr-x  1 hoge  staff        76  4 15 06:13 /usr/local/bin/docker-compose -> /Users/hoge/Library/Group Containers/group.com.docker/bin/docker-compose
-rwxr-xr-x  1 hoge  admin   4924152  3 11 09:55 /usr/local/bin/docker-compose.backup
lrwxr-xr-x  1 hoge  staff        76  4 15 06:13 /usr/local/bin/docker-machine -> /Users/hoge/Library/Group Containers/group.com.docker/bin/docker-machine
-rwxr-xr-x  1 hoge  admin  38453120  3 11 09:55 /usr/local/bin/docker-machine.backup
-rwxr-xr-x  1 hoge  admin  10559296  3 11 09:55 /usr/local/bin/docker.backup

Docker.app でインストールされたコマンドたちのバージョン

1.11.0がリリースされたばかりですが、コマンドはしっかり最新版になってました。

$ docker --version
Docker version 1.11.0, build 4dc5990
$ docker-compose --version
docker-compose version 1.7.0, build 0d7bf73
$ docker-machine --version
docker-machine version 0.7.0, build a650a40

dockerコマンド達がすぐに使える!

evalの呪文唱えずにすぐに使えるのは良いです!
でも、toolboxの環境は自動では引き継がれないので、引き継ぎたい場合は手動でやる必要があります。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
$

プロセスとかどうなってる?

Docker for Macだと下記のような感じでした。

$ ps ax | grep docker
57109   ??  Ss     0:00.02 /Library/PrivilegedHelperTools/com.docker.vmnetd
57114   ??  S      0:00.07 /Applications/Docker.app/Contents/MacOS/com.docker.osx.xhyve.linux -watchdog fd:0
57115   ??  Ss     0:02.70 /Applications/Docker.app/Contents/MacOS/com.docker.db --url=file:///var/tmp/com.docker.db.socket --git /Users/hoge/Library/Containers/com.docker.docker/Data/database
57116   ??  Ss     0:21.16 /Applications/Docker.app/Contents/MacOS/com.docker.osxfs --addr fd:3 --volume-control fd:4 --path /
57117   ??  Ss     0:00.11 /Applications/Docker.app/Contents/MacOS/com.docker.slirp --db /var/tmp/com.docker.db.socket --socket fd:3 --slirp-port-control fd:4 --vmnet-port-control fd:5
57118   ??  Ss     0:03.77 /Applications/Docker.app/Contents/MacOS/com.docker.driver.amd64-linux -db /var/tmp/com.docker.db.socket -osxfs /var/tmp/com.docker.osxfs.socket -osxfs-volume /var/tmp/com.docker.osxfs.volume.socket -slirp /var/tmp/com.docker.slirp.socket -slirp-port /var/tmp/com.docker.slirp.port.socket -vmnet /var/tmp/com.docker.vmnetd.socket -vmnet-port /var/tmp/com.docker.vmnet.port.socket -docker /var/tmp/docker.sock -addr fd:3 -debug
57119   ??  S      0:00.07 /Applications/Docker.app/Contents/MacOS/com.docker.driver.amd64-linux -db /var/tmp/com.docker.db.socket -osxfs /var/tmp/com.docker.osxfs.socket -osxfs-volume /var/tmp/com.docker.osxfs.volume.socket -slirp /var/tmp/com.docker.slirp.socket -slirp-port /var/tmp/com.docker.slirp.port.socket -vmnet /var/tmp/com.docker.vmnetd.socket -vmnet-port /var/tmp/com.docker.vmnet.port.socket -docker /var/tmp/docker.sock -addr fd:3 -debug
57122   ??  S      6:35.87 /Applications/Docker.app/Contents/MacOS/com.docker.driver.amd64-linux -xhyve /Users/hoge/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/xhyve.args
57123   ??  S      0:00.03 /Applications/Docker.app/Contents/MacOS/com.docker.driver.amd64-linux -xhyve /Users/hoge/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/xhyve.args
57124   ??  S      0:06.40 /Library/PrivilegedHelperTools/com.docker.vmnetd

メニューバーにクジラさん

メニューです。

f:id:aspec7:20160415132057p:plain

DashboardクリックするとKitematicをダウンロードするかどうか聞かれます。

f:id:aspec7:20160415132114p:plain

Settingを開くと仮想環境のメモリサイズとか設定できます。
アンインストールもここからできます。

f:id:aspec7:20160415132109p:plain

これまで使ってた環境ビルドして動かす

docker-compose使ってエラーもなく普通に動きました。
これまで起動などは、呪文唱えたりするの面倒だったので、WindowsやMacのToolboxに合わせたスクリプト準備してましたが、その辺は見直しが必要になりそうです。