Dockerのインストール
最近よくWeb上でちらちら見かけるDockerというのが気になっていて、時間ができたので試してみた。
Dockerはコンテナ仮想化というアーキテクチャらしく、OSは共有するけどアプリケーションごとに実行環境を分けるchroot的なイメージに近いっぽい。LinuxのLXCというコンテナ技術を使ってるので、基本的にMac上ではそのままは動かないのだけど、Mac上にVirtualBoxで専用のホストVMを立てて、その中でコンテナを複数立てて使うというイメージになる。
公式のインストール手順はこちら↓
http://docs.docker.io/en/latest/installation/mac/
- まずはVirtualBoxをインストール
VirtualBoxの公式ページからがMac用のインストールバイナリをダウンロードしてインストールする
Downloads – Oracle VM VirtualBox
「VirtualBox 4.3.8 for OS X hosts x86/amd64」を選択してダウンロード
- boot2dockerとdockerをダウンロード
/usr/local/binの下に直接置くとかワイルドな感じなので好みに合わせて好きな場所に置いてパス通せばよいかと思う。
$ cd /usr/local/bin $ curl https://raw.github.com/boot2docker/boot2docker/master/boot2docker > boot2docker $ chmod +x boot2docker $ curl -o docker https://get.docker.io/builds/Darwin/x86_64/ $ curl -o docker https://get.docker.io/builds/Darwin/x86_64/docker-0.8.0 $ chmod +x docker
※現在2014/03/17時点でMac OS X 10.9.2でdocker-latest(0.9.0)は「Illegal instruction: 4」というエラーが出て起動できないようです。docker-latestではなく明示的に0.8.0を指定したらエラー出ず動いた。
- 環境変数の設定
~/.bashrcに以下の環境変数設定を追加
export DOCKER_HOST=tcp://
公式にはtcp://127.0.0.1:4243を追加しろと書いてあるが、色々な解説記事でtcp://を設定するように書いてあるのでそのように指定。違いはよくわからず。
.bashrcをリロード
$ . ~/.bashrc
- boot2dockerのVM準備
$ boot2docker init $ boot2docker up
- boot2dockerにsshログイン
$ boot2docker ssh docker@localhost's password: ## . ## ## ## == ## ## ## ## === /""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| boot2docker: 0.7.0
デフォルトでユーザ名:docker、パスワード:tcuserでログインできる。
このAAがキレイにはてダで表示できるのか不明ですが。
- dockerバージョン確認
$ docker version Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 Server version: 0.9.0 Git commit (server): 2b3fdf2 Go version (server): go1.2.1
インストールできたっぽい。