サイト管理者
なみかわみやこ
以前のリビジョンの文書です
そもそも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]