dockerの活躍の場
- 本番と開発環境を同じ環境にできる。
- レガシーなバージョンのアプリを最新OSにて起動できる。
こちらを見た方がいい
dockerのインストール
OSXの場合
インストール(osx)
$ brew update
$ brew install docker boot2docker
macでの作業
$ boot2docker download # boot2dockerイメージのversion up
$ mkdir docker && cd docker
$ boot2docker init
$ boot2docker start # virtualboxのboot2docker仮想マシンを起動
$ boot2docker ssh # pass: tcuser
docker内での作業
$ docker pull ubuntu:14.04
ubuntuの場合
インストール(ubuntu)
$ curl get.docker.io | sh
CentOS6.8
epelからインストールの場合
$ sudo rpm -Uvh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum -y install docker-io
$ sudo chkconfig docker on
$ sudo service docker start
$ sudo usermod -G wheel,docker $(whoami)
/etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/6/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
sudo yum install docker-engine
sudo service docker start
docker-cmopose1.5.2を入れる
curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ネットからdockerのコンテナ検索
$ docker search ubuntu
使い方
直前のコンテナID取得
alias dl='docker ps -l -q'
ubuntuを使いたい場合
$ docker run -d -i -t ubuntu /bin/bash
centosを使いたい場合
$ docker run -d -i -t centos /bin/bash
alias
$ alias cent='docker run centos'
$ cent yum search php
起動(ctrl+dで抜けると変更も破棄される。)
# docker run -i -t ubuntu /bin/bash
起動(コマンド実行しっぱなし。)
# docker run -d -i -t ubuntu /bin/bash
仮想マシンのコピー(dockyという名前でRepositoryにコミットする)
$ echo "FROM ubuntu" > Dockerfile
# docker build -t tukiyo/docky .
状態確認
# docker images
tukiyo/dockyを実行
# docker run -i -t tukiyo/docky /bin/bash
Ctrl+p, Ctrl+q と入力し抜ける。exitだと終了してしまう。変更も破棄される。
attach
# docker ps
# docker attach "CONTAINER ID"
ここでCtrl+l と入力し、端末を再描画させる。
状態の保存
# docker images
# docker commit XXXXXX tukiyo/docky
コンテナをコミットせずに終了するとすべての変更は失われます。
rebootコマンドは受け付けません。
# reboot
shutdown: Unable to shutdown system