CoreOSのDocker上でCentOSを動かしてみる。
CoreOS環境の準備についてはこちら。
環境について
Docker: 1.0.0
CoreOS: 353.0.0
なお、CoreOSのバージョンは/etc/os-release
に記載してある。
core@core-01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=353.0.0
VERSION_ID=353.0.0
BUILD_ID=
PRETTY_NAME="CoreOS 353.0.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
Docker Image の取得
docker pull
コマンドでimageを取得する。
今回はCentOSの最新バージョンを取得している。
core@core-01 ~ $ docker pull centos:latest
Pulling repository centos
0c752394b855: Download complete
511136ea3c5a: Download complete
34e94e67e63a: Download complete
取得したイメージはdocker images
コマンドで確認できる。
core@core-01 ~ $ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 0c752394b855 3 weeks ago 124.1 MB
コンテナ(仮想マシン)を起動する
取得したコンテナはdocker run
コマンドで起動する。
core@core-01 ~ $ docker run centos /bin/echo ok
ok
これは「 centos というコンテナで /bin/echo ok
というコマンドを実行する」という意味になる。
今度は起動したコンテナの中に入るために、-i と -t オプションで入出力できるようにして /bin/bash を起動する。
core@core-01 ~ $ docker run -i -t centos /bin/bash
bash-4.1# exit
exitで抜けるとコンテナは終了する。
今度は -d オプションでコマンドを実行したままにする。
core@core-01 ~ $ docker run -i -t -d centos /bin/bash
330ec265ad9dcb22ef21d1cf63470d07ef39907bdd759fb2a8e0c1a6350ea0c3
起動しているコンテナはdocker ps
コマンドで確認できる。
core@core-01 ~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
330ec265ad9d centos:latest /bin/bash 42 seconds ago Up 41 seconds lonely_rosalind
コンテナの操作を行うときは "CONTAINER ID" か "NAMES" で行うが、"NAMES"は指定がない場合にはランダムに設定される。
指定したい場合には--name="<コンテナ名>"
オプションが必要。
コンテナに接続する
コンテナに接続するにはdocker attach
コマンドを使用する。
core@core-01 ~ $ docker attach 330ec265ad9d
bash-4.1#
接続したコンテナから抜けるにはctl+p``ctl+q
を押す。
※exit
すると終了する。
コンテナを削除する
実行中のコンテナを削除する場合にはdocker kill
コマンドを使用する。
core@core-01 ~ $ docker kill 330ec265ad9d
330ec265ad9d
docker ps
コマンドで確認してみる。
core@core-01 ~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
起動されているコンテナがいなくなっているから削除されたっぽい。
次はdocker commit
などをやってみることにする。