docker

Dockerでコンテナ作成/起動/停止/自分用Image作成

More than 1 year has passed since last update.

公式リポジトリ(大体ここに書いてある)

https://registry.hub.docker.com/_/centos/

※参考サイト
http://kasshy.hatenablog.com/entry/2015/01/21/142120
http://qiita.com/deeeet/items/ed2246497cd6fcfe4104
http://qiita.com/bungoume/items/b8911fd243d9c084bd63


CentOS6のDockerイメージのダウンロード

$ docker pull centos:centos6

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              6.6                 77e369743e24        12 days ago         202.6 MB

Dockerコンテナを作成してバックグラウンドで起動する

docker run [オプション] [--name {コンテナー名}] {イメージ名}[:{タグ名}] [コンテナーで実行するコマンド] [引数]

例)ホスト名を指定して作成する場合
docker run -d -it -p 50080:80 --hostname tomi-local01 --name tomi-local01 centos:6.6 /bin/bash --login

d: バックグランドで実行
i: コンテナの標準入力を開く
t: ttyを確保する
p: ポートフォワード

起動しているコンテナを確認

docker ps -a

a: 停止しているコンテナも表示

起動しているコンテナに接続(attach)

docker attach <コンテナID or NAME>

→ログアウトはctrl+p → ctrl+q の順に押す。
注意: exitするとコンテナが終了する。。こわい。


ポートフォワードしているポートへの接続方法

例)-p 50080:80 で起動してあるコンテナ内のnginxにつなぐ場合

まずboot2docker-vmのipを調べる
$ boot2docker ip
192.168.59.103

boot2dockerのipに対して以下のように接続する
http://192.168.59.103:50080
 → -p 50080:80 で起動しているコンテナ内のport80にフォワードされる。

  

コンテナの停止

docker stop <コンテナID or NAME>


コンテナの起動

docker start <コンテナID or NAME>


自作のDocker Imageを作る

コンテナの状態を確認
$ docker ps -a

Docker Imageを作成
$ docker commit -m "Development Tools追加" <コンテナID> tomi-centos-templage:6.6
 ※docker commit -m "コメント" <コンテナID> <名前:タグ>

Docker Imageが追加されたことを確認
$ docker images

    REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
tomi-centos-template   6.6                 fbb6f8fa1abf        8 seconds ago       692.7 MB
centos                 6.6                 77e369743e24        12 days ago         202.6 MB

自作のDocker Imageからコンテナ作成

例)
$ docker run -d -it --hostname tomi-local02 --name tomi-local02 tomi-centos-template:6.6