今更ながら、macでdockerを試す。
ただのメモ。
準備
以下のものをインストールしておく必要があり。
・ Virtual box
・ Homebrew
環境準備
Virtual boxのみインストールしていなかったため、インストール。
以下のサイトからダウンロード。
https://www.virtualbox.org/wiki/Downloads
※VirtualBox X.X.XX for OS X hosts からダウンロード
boot2docker のインストール
以下のコマンドでインストール
brew update
brew tap homebrew/binary
brew install docker boot2docker
※brew updateを実行した時に以下のエラーが出た
Error: undefined method `to_sym' for nil:NilClass
以下のコマンドで解決
brew doctor
brew update
イメージをダウンロードとVMの作成
以下のコマンドを実行
boot2docker init
boot2dockerのVMの起動
以下のコマンドでVMを起動
boot2docker up
以下のコマンドでrunningとなっていればOK
boot2docker status
以下のものが出力されるので、環境変数に追加するため、.bash_profileに追記
export DOCKER_HOST=(略)
export DOCKER_CERT_PATH=(略)
export DOCKER_TLS_VERIFY=1
Centosのイメージのダウンロード
以下のコマンドでCentos6のイメージをダウンロード
docker pull centos:centos6
centos6ではなく、latestを入力すると最新バージョンがダウンロードできるが、Centos7は色々と仕様が変わり、不慣れなためCentos6を使用。
ダウンロードしたイメージの一覧は以下のコマンドで確認できる。
docker images
※dockerのコマンドを入力した時に、x509: certificate is valid for ......というエラーが出てきたが以下のサイトに書いてある方法を試したら解決。
boot2docker ssh
sudo vi /var/lib/boot2docker/profile
/var/lib/boot2docker/profile
wait4eth1() {
CNT=0
until ip a show eth1 | grep -q UP
do
[ $((CNT++)) -gt 60 ] && break || sleep 1
done
sleep 1
}
wait4eth1
exit
boot2docker stop
boot2docker up
http://qiita.com/74th/items/d77dc293140783afbfd0
名前をつけてコンテナを作成
以下のコマンドでコンテナを作成し、起動
docker run -t -i -d -p 80:80 --name centos6 centos:centos6 /bin/bash
抜けるときは、以下のコマンドを入力
exit
コンテナが作成されたことは以下のコマンドで確認可能
docker ps -a
コンテナを操作したいときには以下のコマンドを入力
docker attach centos6(コンテナ名)
コンテナの動作を試してみる
コンテナに以下のコマンドで、httpdをインストール。
yum install httpd
service httpd start
この状態で、コンテナのIPにブラウザからアクセスすると、apacheのデフォルトのページが表示される。
コンテナのIPは以下のコマンドで確認
boot2docker ip
最低限なコマンド
コンテナの削除
docker rm (コンテナ名)
コンテナの停止
docker stop (コンテナ名)
コンテナの起動
docker start (コンテナ名)