docker on OS X

コンテナ型仮想化技術「Docker」が、Apple Mac OS X に対応にも書かれているがMac上でもdockerがサポートされた!!
今まではVagrant上にUbuntuを乗っけてぇ〜みたいな感じだったが今回はNativeサポート

早速インストール

brew tap homebrew/binary
brew update
brew install docker boot2docker

これでインストール完了

brewではいるのがかなり便利。

起動

boot2docker init
これでdocker用を動かす仮想OSの起動準備をします。


boot2docker init
[2014-02-10 06:28:43] Creating VM boot2docker-vm
Virtual machine ‘boot2docker-vm’ is created and registered.
UUID: f9c73525-4828-4e4e-a004-a30537334ed2
Settings file: ‘/Users/xxxxx/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox’
[2014-02-10 06:28:43] Setting VM settings
[2014-02-10 06:28:43] Setting VM networking
[2014-02-10 06:28:43] boot2docker.iso not found.
[2014-02-10 06:28:45] Latest version is v0.5.4, downloading…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 344 100 344 0 0 211 0 0:00:01 0:00:01 –:–:– 211
100 27.0M 100 27.0M 0 0 749k 0 0:00:36 0:00:36 –:–:– 905k
[2014-02-10 06:29:22] Done
[2014-02-10 06:29:22] Setting VM disks
[2014-02-10 06:29:22] Creating 40000 Meg hard drive…
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Disk image created. UUID: 1465efb1-213d-4b47-8535-9c2e7bd4b538
Converting from raw image file=”format-flag.txt” to file=”format-flag.vmdk”…
Creating dynamic image with size 5242880 bytes (5MB)…
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘VMDK’. UUID: 1465efb1-213d-4b47-8535-9c2e7bd4b538
[2014-02-10 06:29:22] Done.
[2014-02-10 06:29:22] You can now type boot2docker up and wait for the VM to start.

boot2docker up
これでdocker環境が起動します。


boot2docker up
[2014-02-10 06:40:32] Starting boot2docker-vm…
[2014-02-10 06:41:03] Started.

dockerを触ってみる

dockerのバージョンチェック
docker version

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8d8ec57e15b7b7316797132d770408ab1a

0.8.0が入っている。
問題はサーバの項目が出ていないのでDOCKER_HOSTの環境変数を設定する


export DOCKER_HOST=tcp://

DOCKER_HOSTを設定したら再度バージョンチェック
docker version

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8d8ec57e15b7b7316797132d770408ab1a

Server version: 0.8.0
Git commit (server): cc3a8c8
Go version (server): go1.2
Last stable version: 0.8.0

どなるとこれはあれか???
EC2上のdocker ServerをMac OSのdocker clientからいじることが出来るの??

とりあえず.zshrcに
export DOCKER_HOST=tcp://
を書いておく

dockerの使い方

dockerをEC2上のCentOSに構築で書いたように
ベースイメージのGet
docker pull learn/tutorial

ベースイメージの起動
docker run -i -t learn/tutorial /bin/bash

root@1ba56d9dfdf7:/#

これでUbuntuが起動した。
やっぱり速い。
楽ちん。

まとめ

Macでもdockerが起動したので手元でも高速で起動するVMが手に入った。
Linuxと比べて「boot2docker up」とか1手間発生するけどこの楽さはいいね。

まともに使ってみてdockerのimageをプロダクションに移動とか本気でチャレンジしてみよう。