====== Scientific Linux 6.5でDocker ====== そもそもDockerってなんや? Linux上で独立した別のLinuxシステムを起動する事ができるコンテナ型の仮想化ソフトの一つ ベースとなっているのはLXC(Linux Containers)でKVMやVMWareなどとは違い、ホストOS環境上に隔離エリアを作成して仮想的に新しいOS実行環境を作り出します。 ====== インストール ====== Scientific Linux 6.5であればepelのリポジトリを追加する事でyumでインストールが可能 yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install docker-io service docker start chkconfig docker start はい、終了!(ぉ ====== 新しい仮想環境を作る ====== Scientific Linuxの公式なイメージが無いっぽいのでCentOSで構築してみる docker run centos /bin/echo "Hello World" 最初だけCentOSのイメージがダウンロードされるので時間がかかるが、しばらく待つと画面上に Hello World と表示される。 これは仮想環境でechoコマンドが実行され、その結果が出力されている。 この時、起動してきた仮想環境はどうなったかと言うと、echoだけを起動して終了している。 実行している仮想環境を確認するには docker ps と実行するのだが、これだと終了した仮想環境は表示されないので、-aオプションを付けて実行してやる docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd5553deff81 renbird/sl65:latest /bin/bash 22 minutes ago Exit 0 jolly_brattain 正常に終了してるのでステータスがExit 0となっている。 不要な終了プロセスは docker rm [CONTAINER ID]で削除する事が出来る ====== シェルを立ち上げる ====== このままでは一発や芸人のように実行したら終了となるのでシェルを起動して仮想環境につなげてみる docker run -i -t contos /bin/bash bash-4.1# コンソールが仮想環境に繋がりましたね。exitすると仮想環境が終了する。 終了させないようにするには[Ctrl]+[p] → [Ctrl]+[q]で抜ける。 ====== 設定後の独自イメージ作成 ====== UPDATEや独自の設定をしたイメージを作成したい場合は次のコマンドで作成が可能 docker commit [CONTAINER ID] [IMAGE NAME] 作成したイメージを確認するには docker images 作成したイメージが存在しただろうか?不要なイメージは次のコマンドで削除しておこう docker rmi [REPOSITORY] 作成したイメージから起動をしたい場合は docker run -t -i -d [IMAGE NAME] /bin/bash 先ほどのようにいきなり仮想環境に繋がらなかった人は正解。 -dコマンドによりDeamonモードで起動したからだ。 ====== 仮想環境に接続 ====== このようにデーモンモードで抜けたり、[Ctrl]+[p] → [Ctrl]+[q]で仮想環境から抜けた場合、仮想環境に接続するには以下のコマンドを実行する docker attach [CONTAINER ID] ====== 仮想環境を停止 ====== たぶん次のコマンドで停止出来ると思う docker stop [CONTAINER ID] プロセスを確認したらExit 137になってるが、ステータスの意味は確認してないので不明w