DockerをMacOSにインストールしてみた

最近やたらと話しを耳にするコンテナ型仮想環境DockerをMacに入れてみた。
今回入れるMac版は、絶賛開発中らしくprodで使用するのはやめてねって書いてた。

インストールは下記を参考にしてます。
http://docs.docker.io/installation/mac/
ちなみにHomebrewでさくっとすることもできるみたいなので、そっちがお勧めかも。
http://dev.classmethod.jp/tool/docker/getting-started-docker-on-osx/

ファイルをダウンロード

https://github.com/boot2docker/osx-installer/releases
・Latest releaseをダウンロードしてくる。
・記事記載時はv0.2.0

インストール

Docker.pkgが落ちているのでダブルクリックして進めていくだけ。
これで下記が気づいたら入っている!
・docker
・boot2docker
・virtual box

初期設定

インストールは非常に簡単で、初期設定も簡単です。

$ boot2docker init
$ boot2docker start
$ export DOCKER_HOST=tcp://localhost:4243

下記は実際の実行ログ

$ boot2docker init
2014/06/07 20:46:44 Downloading boot2docker ISO image...
2014/06/07 20:46:45 Latest release is v0.12.0
2014/06/07 20:47:58 Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v0.12.0/boot2docker.iso
	to /Users/akihiro_ob/.boot2docker/boot2docker.iso
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/akihiro_ob/.ssh/id_boot2docker.
Your public key has been saved in /Users/akihiro_ob/.ssh/id_boot2docker.pub.
The key fingerprint is:
68:62:ea:01:43:70:7d:06:88:66:54:14:c0:77:26:1a akihiro_ob@akihiro_ob.local
The key's randomart image is:
+--[ RSA 2048]----+
|++=*o.           |
|oE.o.oo          |
|o.+ +o           |
|..     .         |
|o   o o S        |
| o o o           |
|  o              |
| . .             |
|  .              |
+-----------------+
2014/06/07 21:27:56 Creating VM boot2docker-vm...
2014/06/07 21:27:56 Apply interim patch to VM boot2docker-vm (https://www.virtualbox.org/ticket/12748)
2014/06/07 21:27:56 Setting NIC #1 to use NAT network...
2014/06/07 21:27:56 Port forwarding [ssh] tcp://127.0.0.1:2022 --> :22
2014/06/07 21:27:56 Port forwarding [docker] tcp://127.0.0.1:4243 --> :4243
2014/06/07 21:27:56 Setting NIC #2 to use host-only network "vboxnet0"...
2014/06/07 21:27:56 Setting VM storage...
2014/06/07 21:28:03 Done. Type `boot2docker up` to start the VM.
$ boot2docker start
2014/06/07 21:28:37 Waiting for SSH server to start...
2014/06/07 21:29:01 Started.
2014/06/07 21:29:01 To connect the Docker client to the Docker daemon, please set:
2014/06/07 21:29:01     export DOCKER_HOST=tcp://localhost:4243
$ export DOCKER_HOST=tcp://localhost:4243

ちなみにアップグレードする場合は下記コマンドで行けるみたいです。

$ boot2docker stop
$ boot2docker download
$ boot2docker start

下記は実際の実行ログ

$ boot2docker stop
$ boot2docker download
2014/06/08 01:25:20 Downloading boot2docker ISO image...
2014/06/08 01:25:21 Latest release is v0.12.0
2014/06/08 01:28:20 Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v0.12.0/boot2docker.iso
	to /Users/akihiro_ob/.boot2docker/boot2docker.iso
$ boot2docker start
2014/06/08 01:28:42 Waiting for SSH server to start...
2014/06/08 01:29:06 Started.

サンプルを動かしてみる

boot2dockerに入る

$ boot2docker ssh
Warning: Permanently added '[localhost]:2022' (RSA) to the list of known hosts.
Saving password to keychain failed
Identity added: /Users/akihiro_ob/.ssh/id_boot2docker (/Users/akihiro_ob/.ssh/id_boot2docker)
                        ##        .
                  ## ## ##       ==
               ## ## ## ##      ===
           /""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
           \______ o          __/
             \    \        __/
              \____\______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
boot2docker: 0.12.0
             master : b233125 - Fri Jun  6 21:16:28 UTC 2014

なんかかわいいw

debianから"hello world"を実行させてみる
サンプルではubuntuだったけど、多分出来るんじゃないかな…

$ docker run debian echo "hello world"
Unable to find image 'debian' locally
Pulling repository debian
667250f9a437: Download complete 
511136ea3c5a: Download complete 
af6bdc397692: Download complete 
hello world

debianがダウンロードされてHello Worldがでた!
導入はこんな感じで簡単にすることができる!
これから色々と遊んでみようと思う。