Docker上でCentOSを動かす

  • 61
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

docker_logo.png

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+pctl+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などをやってみることにする。