Dockerによる仮想コンテナを試してみる(1日目)
RHEL6.5から正式に対応が発表された仮想コンテナ「Docker」。
かなり前から熱い!というエントリを読んでいて、Docker対応のその他のツールもどんどんリリースされていく中、全く波に乗れていなかったので、土日を使用して使ってみようかなと思います。
環境とか諸々
Dockerインストール
# yum -y install docker-io Loaded plugins: fastestmirror, security Determining fastest mirrors epel/metalink | 4.6 kB 00:00 * epel: ftp.riken.jp ........... Complete !
コマンドのPATH確認。
# which docker /usr/bin/docker
version確認。
# docker version Client version: 1.0.0 Client API version: 1.12 Go version (client): go1.2.2 Git commit (client): 63fe64c/1.0.0 2014/08/16 12:25:17 Get http:///var/run/docker.sock/v1.12/version: dial unix /var/run/docker.sock: no such file or directory
む?なんかエラーっぽいものがでました。
サービス起動してないからでちゃうみたいです。
# service docker start Starting cgconfig service: [ OK ] Starting docker: [ OK ] # docker version docker version Client version: 1.0.0 Client API version: 1.12 Go version (client): go1.2.2 Git commit (client): 63fe64c/1.0.0 Server version: 1.0.0 Server API version: 1.12 Go version (server): go1.2.2 Git commit (server): 63fe64c/1.0.0
おっけー。
とりあえず使ってみましょう
使ってみたいということで、まずはインタラクティブ実行。
# docker run -i -t -h test centos /bin/bash bash-4.2#
-iと-tフラグでインタラクティブ実行ができます。
-hはコンテナのホスト名を指定しています。
bash-4.2# hostname bash: hostname: command not found bash-4.2# uname -n test
hostname
は入ってないですが、yum
でインストールできます。
exit
すれば母艦に帰れます。
docker ps
では停止しているコンテナは確認できませんが、-aオプションをつけることで確認することができます。
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2ee36ad19c10 centos:latest /bin/bash 33 seconds ago Exited (0) 30 seconds ago elegant_morse
停止したコンテナを再度起動させるためには、docker start <CONTAINER ID>
を使用します。
バックグラウンドでの起動になりますので、再度コンテナ内に入りたい場合はattach
コマンドを使用します。
# docker attach 2ee36ad19c10 bash-4.2#
コンテナの削除、及びイメージの削除にはrm
とrmi
コマンドがあります。
それぞれCONTAINERI IDとIMAGE IDを指定してあげると削除することができます。
Dockerの基本的な操作をやってみました。
さくっと作れてさくっと潰せる点が非常にいいですね。
さらにDockerfileを用意すれば開発環境を迅速に複製できたり、便利なことだらけではないでしょうか。
次はDokerfileを使用した検証をしてみたいです。まる。
【参考にさせていただいたエントリ】 CentOS6.5でDockerを少しだけ使ってみた - okochangのインフラ日誌