##手順
- VirtualBox インストール
- Docker インストール
- ServiceMix のイメージを取得
- Docker コンテナの作成・実行
ViertualBox インストール
Docker には、ピュアな Linux が必要。
Mac だとピュアじゃないので、仮想マシン(ViertualBox)上に Boot2Docker という Linux 入り仮想イメージを立ち上げる。
なので、ViertualBox が必要。
dmg なので、簡単インストール。
Docker をインストール
Boot2Docker という VM を Mac では使う必要アリ。
pkg ファイルなので、簡単インストール。
1 初期化
$ boot2docker init
2 起動
$ boot2docker start
3 シェル実行情報として環境変数情報確認
$ boot2docker shellinit
4 上記を使って環境変数を設定
$ $(boot2docker shellinit)
5 Hello world 的テスト
$ docker run hello-world
なんかうまく動かなかった。
と思ったら、公式の導入手順に run が抜けていた。。。
6 Boot2Docker の状況確認
$ boot2docker status
実行していると running
7 docker の構成確認
$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
boot2docker のip確認
$ boot2docker ip
192.168.59.103
###* 参考ページ
Docker 公式インストールページ
はじめての Docker on Mac OS X
ServiceMix のイメージを取得
Docker のイメージがリポジトリにある
多くは、Docker Hub Registryにて公開。
ServiceMix を検索すると、以下があったので、とりあえず、これを使ってみる。
mkroli/servicemix
Linux イメージから ServiceMix をインストールしてもいいわけだが、せっかく mkroli さんがイメージ作ってくれているので信頼して使ってみる。感謝。
pull のやり方
コマンドで、以下を実行。
$ docker pull {イメージ名}:{タグ名}
今回は、
$ docker pull mkroli/servicemix
Pulling repository mkroli/servicemix
64e29cdc4d2e: Download complete
511136ea3c5a: Download complete
8771fbfe935c: Download complete
0e30e84e9513: Download complete
c90a56bfe7dd: Download complete
6b030fdd4748: Download complete
dc805b94fda3: Download complete
454c672868f7: Download complete
aa55d7aadb96: Download complete
493d82594c15: Download complete
3fd68b0cc322: Download complete
478de6154258: Download complete
d521fe8429e4: Download complete
a7544a15f991: Download complete
70abec29f3af: Download complete
Status: Downloaded newer image for mkroli/servicemix:latest
ServiceMix 5.0 が欲しかったので、5.0 もゲット。
mkroli さんは、僕の思いを汲み取ってくれていたのかタグでバージョン管理してくれている。感謝。
$ docker pull mkroli/servicemix:5.0
取得したイメージの確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mkroli/servicemix latest 64e29cdc4d2e 2 weeks ago 679 MB
mkroli/servicemix 5.0 6f262f4a1db7 2 weeks ago 678.1 MB
mkroli/servicemix が取得されていることを確認。
5.0 も、ちゃんとある。
Docker コンテナの作成・実行と各種コマンド
Docker コンテナの作成・実行
$ docker run [オプション][--name コンテナ名] イメージ名 [コンテナで実行するコマンド] [引数...]
さあ、ServiceMix を立ち上げてみる。
-i オプションは、コンテナ側の標準入力を開くオプション。プロセス終了するとコンテナも止まる。
-d オプションは、デーモンとして起動するオプション。
-t オプションは、tty(端末デバイス)を確保するオプション。
-p オプションは、{ホスト側のポート番号}:{コンテナ側のポート番号}といった指定で、Docker サーバのホストとポートマッピングを構成するオプション。
-v オプションは、{ホスト側のディレクトリ}:{コンテナ側のディレクトリ}といった指定で、ホスト側のディレクトリをコンテナのディレクトリにマウントするオプション。
$ docker run -i -t \
--name servicemix \
-p 1099:1099 \
-p 8101:8101 \
-p 8181:8181 \
-p 61616:61616 \
-p 36888:36888 \
-p 44444:44444 \
-v /host/path/deploy:/deploy \
mkroli/servicemix
5.0 は、デーモン化して上げてみる。
$ docker run -d -t \
--name servicemix \
-p 1099:1099 \
-p 8101:8101 \
-p 8181:8181 \
-p 61616:61616 \
-p 36888:36888 \
-p 44444:44444 \
-v /host/path/deploy:/deploy \
mkroli/servicemix:5.0
Docker コンテナの状況確認
$ docker ps [-a]
オプション
-a : 停止中のコンテナも表示
Docker コンテナの停止
$ docker stop {コンテナー名}|{コンテナーID}
Docker コンテナの再実行
$ docker start [-i] {コンテナー名}|{コンテナーID}
オプション
-i : シェルを実行する
Docker コンテナの削除
$ docker rm {コンテナー名}|{コンテナーID}
コンテナは止まってないと削除できない。
Docker イメージの削除
$ docker rmi {コンテナー名}|{コンテナーID}
イメージはコンテナで使っていない状況じゃないと削除できない。
###* 参考ページ
ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方
docker のボリュームオプションを使った(Amazon Linux で docker 使えた!)