#注意
この内容は古いです。
docker for macを使ったほうが楽です! (2017/01追記)
#概要
Mac上でDockerを試します。
Docker初めて触るので誤ってるところあれば指摘いただけると幸いです。
Macはほぼつかってないまっさらな状態での構築を前提で記載してます。
インストールからOSを立ち上げてコンテナ起動+Apache起動させて動作確認を
やったところまでのメモになります。
概念などは関連URLなどみてみてください。
#必要な物
- Virtualbox
- Xcode
- Docker
- Homebrew
#環境
- MacBook Pro Retina, 15-inch, Late 2013
#手順
###1 XCodeとHomebrewをインストール
Homebrew(macのパッケージ管理ツール)いれるためにXCodeが必要です。
参考にしたページ。
手順どおりインストールします。
###2 Virtualboxインストール
MacでVM(boot2docker)うごかすにはこれが必要です。
https://www.virtualbox.org/wiki/Downloads
ここからMac用のdmgをダウンロード。ダブルクリックして展開されたpkgをインストールします。
###3 dockerインストール
brew update #パッケージのアップデート
brew tap homebrew/binary
brew install docker boot2docker #dockerコマンドと起動用のVMイメージを入れます。
結果
takaito$ docker -v
Docker version 1.3.1, build 4e9bbfa
###4 isoイメージをダウンロード
boot2docker init
結果
Latest release for boot2docker/boot2docker is v1.3.1
Downloading boot2docker ISO image...
Success: downloaded https://github.com/boot2docker/boot2docker/releases/download/v1.3.1/boot2docker.iso
to /Users/takaito/.boot2docker/boot2docker.iso
Generating public/private rsa key pair.
Your identification has been saved in /Users/takaito/.ssh/id_boot2docker.
Your public key has been saved in /Users/takaito/.ssh/id_boot2docker.pub.
The key fingerprint is:
.
.
.
.
.
無事落とせたみたいです
###5 boot2dockerを起動
コンテナ起動させるためのVMを立ち上げます。
boot2docker up
確認
bmnm2827000371:~ takaito$ boot2docker status
running
virtualboxをみてみるとboot2dockerというVMができているのがわかります
クライアントからの接続のために.bash_profileに記載しておきます
1 export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375 #boot2dockeripコマンドの結果を設定。
2 export DOCKER_CERT_PATH=/Users/takaito/.boot2docker/certs/boot2docker-vm
3 export DOCKER_TLS_VERIFY=1
###6 イメージファイルを落としてみる。
docker pull [イメージ名]でイメージが落とせるみたいです。
docker pull centos:latest
docker pull ubuntu:latest
docker pull centos:centos6
結果
bmnm2827000371:~ takaito$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos centos6 70441cac1ed5 12 days ago 215.8 MB
centos latest ae0c2d0bdc10 12 days ago 224 MB
ubuntu latest 5506de2b643b 3 weeks ago 199.3 MB
###7 コンテナ起動してみる
うごいた!
docker run -t -i centos /bin/bash
[root@e800b582c111 /]#
###8 名前つけて立ち上げてみる(centos6)
docker run -t -i -d --name centos6 centos:centos6 /bin/bash
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4aeafa796850 centos:centos6 "/bin/bash" 6 hours ago Up 3 minutes centos6
ちなみに立ち上げたコンテナに再接続するときは
docker attach [コンテナID]
コンテナ消すときは
docker rm [コンテナID]
全コンテナ消すとき
docker ps -a -q | xargs docker rm
###9 コンテナにApacheたてる
動作確認のためにApacheを入れてみてMacからみれるようにします。
centos6に接続
docker attach 4aeafa796850
centos6にapacheを入れる
yum update
yum install httpd
chkconfig httpd on
service httpd start
これでApacheが起動してます。
###10 新規コンテナにコミットする。
今のイメージ(centos6)を保存しておきます。(takaito/contos6-apache)
bmnm2827000371:~ takaito$ docker commit centos6 takaito/centos6-apache
c509635e752cc3fad69bc6727a7ca44876e4e3764492b010f290b88962d13ad6
結果
bmnm2827000371:~ takaito$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
takaito/centos6-apache latest c509635e752c 6 hours ago 283.8 MB
centos centos6 70441cac1ed5 12 days ago 215.8 MB
centos latest ae0c2d0bdc10 12 days ago 224 MB
ubuntu latest 5506de2b643b 3 weeks ago 199.3 MB
takaito/centos6-apacheのイメージができてますね。TAGがへん。。
apache用のイメージを起動VMとポート80番でマッピングして起動する
takaito$ docker run -t -i -d -p 80:80 --name centos6-up takaito/centos6-apache /sbin/init
###11 Macから確認
macでdockerの起動IPを確認
bmnm2827000371:~ takaito$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103
みれましたね!
#感想
すごい便利ですね。
社内で複数アプリをdeployしたイメージを複製して
パフォーマンス検証とかしてみます。
#関連URL
http://qiita.com/_daisuke/items/d3b2477d15ed2611a058
http://dev.classmethod.jp/tool/docker/getting-started-docker-on-osx/
http://havelog.ayumusato.com/develop/server/e601-docker_on_mac.html
http://blog.co-mit.com/post/24/Mac%E3%81%ABDocker%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F