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

のんびりSEの議事録

プログラミング系のポストからアプリに関してのポストなどをしていきます。まれにアニメ・マンガなど

Macに最新版Docker(1.12.0-rc2)を入れて試してみた

インフラ系

www.publickey1.jp

Docker Storeの発表で、ついに来たなと...! 正直しびれましたw

それで、最近触ってなかったので、バージョンアップを兼ねて、dmgパッケージからインストールを試みた所、 なんと、最新バージョンではGUIの実装がされていたので、その紹介を中心に記載していこうかと思います。

インストール

下記のページからMac/Winの場合はパッケージをダウンロードします Linuxの場合はインストール方法のドキュメントへリンクし AWS/Azureの場合はユーザ情報とDocker Hub ID、AWS Accountを記載し招待制のような感じになってる模様です(まだ試してないですが...)

Docker | Docker

インストール完了後、Macの場合はステータスバーにDockerのアイコンが追加されます。

f:id:tatsu_tora:20160623002719p:plain

インストール確認

コマンドでバージョンを確認します

$ docker --version
Docker version 1.12.0-rc2, build 906eacd, experimental

$ docker-compose --version
docker-compose version 1.8.0-rc1, build 9bf6bc6

$ docker-machine --version
docker-machine version 0.8.0-rc1, build fffa6c9

brewで既にインストールされている場合

新しいバージョンにシンボリックリンクが張られるだけなので、コマンドを使用する面においては問題無さそうです。

$ ls -la /usr/local/bin | grep docker
lrwxr-xr-x    1 username  admin     45  4 24 21:39 boot2docker -> ../Cellar/boot2docker/1.8.0_1/bin/boot2docker
lrwxr-xr-x    1 username  staff     78  6 22 23:08 docker -> /Users/username/Library/Group Containers/group.com.docker/bin/docker
lrwxr-xr-x    1 username  staff     86  6 22 23:08 docker-compose -> /Users/username/Library/Group Containers/group.com.docker/bin/docker-compose
lrwxr-xr-x    1 username  staff     86  6 22 23:08 docker-machine -> /Users/username/Library/Group Containers/group.com.docker/bin/docker-machine
lrwxr-xr-x    1 username  staff     78  6 22 23:08 notary -> /Users/username/Library/Group Containers/group.com.docker/bin/notary
$ ls -la /usr/local/Cellar/docker/
total 0
drwxr-xr-x   8 username  admin   272  6 11 22:29 .
drwxr-xr-x  83 username  admin  2822  6 11 22:34 ..
drwxr-xr-x  11 username  admin   374  3 10 22:57 1.10.2
drwxr-xr-x  11 username  admin   374  6 11 22:29 1.11.1
drwxr-xr-x  11 username  admin   374  6  7  2015 1.6.2
drwxr-xr-x  11 username  admin   374 10 29  2015 1.7.0
drwxr-xr-x  11 username  admin   374 11  1  2015 1.8.3
drwxr-xr-x  11 username  admin   374  1  2 22:49 1.9.1

GUI

今回のバージョンアップで大きな変更点の一つとして、GUIでいくつか操作が可能になってる点です。

f:id:tatsu_tora:20160623002744p:plain

出来ること

General

  • ログイン時のDocker自動起動
  • 自動アップデートチェック
  • VMのバックアップ

f:id:tatsu_tora:20160623002943p:plain

Advanced

  • VMのCPUサイズの変更
  • VMのメモリサイズの変更

f:id:tatsu_tora:20160623003020p:plain

Uninstall/Reset

  • アンインストール
  • 設定値のリセット

f:id:tatsu_tora:20160623003116p:plain

ほか

そもそも今回インストールして確認時に、docker-machineを立ち上げていないんですよね。 必要要件としてやっぱりVirtualBoxも入ってるはずなんですけど、なんでだろうなと調べてみたところ、下記に行き着きました。

www.publickey1.jp

どうやらOS X上でHyperKitというものが動いていて、わざわざdocker-machineを立ち上げる必要なく、Dockerが使用できるようになってるようです

$ ps aux | grep docker
username 30616   0.1  1.9  4745036 326156   ??  S    11:13PM   0:26.18 /Applications/Docker.app/Contents/MacOS/com.docker.hyperkit -A -m 2G -c 1 -u -s 0:0,hostbridge -s 31,lpc -s 2:0,virtio-vpnkit,uuid=68fb0ec4-1011-4fed-9f8f-5a0d7aaeffa5,path=/Users/username/Library/Containers/com.docker.docker/Data/s50,macfile=/Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/mac.0 -s 3,virtio-blk,file:///Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2,format=qcow -s 4,virtio-9p,path=/Users/username/Library/Containers/com.docker.docker/Data/s40,tag=db -s 5,virtio-rnd -s 6,virtio-9p,path=/Users/username/Library/Containers/com.docker.docker/Data/s51,tag=port -s 7,virtio-sock,guest_cid=3,path=/Users/username/Library/Containers/com.docker.docker/Data,guest_forwards=2376;1525 -l com1,autopty=/Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty,log=/Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/console-ring -f kexec,/Applications/Docker.app/Contents/Resources/moby/vmlinuz64,/Applications/Docker.app/Contents/Resources/moby/initrd.img,earlyprintk=serial console=ttyS0 com.docker.driverDir="/Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux", com.docker.database="com.docker.driver.amd64-linux" ntp=gateway -F /Users/username/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/hypervisor.pid
username 30224   0.0  0.0 573407232   3960   ??  S    11:08PM   0:00.02 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux
username 30218   0.0  0.0 573421428   3912   ??  S    11:08PM   0:00.03 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0
username 30216   0.0  0.0 573459592   6404   ??  S    11:08PM   0:00.05 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0

これでわざわざVirtualBoxVMを立ちあげなくても済むようになりました。 便利!

参考文献

devcenter.magellanic-clouds.com

paiza.hatenablog.com