わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

Docker触ってみた

Docker入門 (全11回) - プログラミングならドットインストール
がレッスンに追加されたので、動画見ながら触ってみた。
ちゃんとした解説や流れはドットインストールのレッスンに譲るとして、やったことのメモを書いておく。

公式サイト→Homepage - Docker: the Linux container engine

動作環境と前準備

Dockerで使えるコマンド

$ sudo docker search centos | more
$ sudo docker pull centos
$ sudo docker images
  • Dockerイメージの情報を閲覧する
$ sudo docker inspect centos:centos
$ sudo docker inspect centos
$ sudo docker inspect ***IMAGE_ID***
  • Dockerイメージの削除
$ sudo docker rmi ***IMAGE_ID***
  • DockerイメージからDockerコンテナの立ち上げ
$ sudo docker run centos echo "Hello World"
$ sudo docker run -d centos free -s 3       (-dオプションでbackground立ち上げ)
$ sudo docker run -i -t centos /bin/bash    (-iはインタラクティブモード。/bin/bash立ち上げの場合、exitで抜けられる)
$ sudo docker run -p 8080:80 -d centos      (-pはポートフォワーディング設定。80番ポートを8080番ポートに向ける)
  • 起動中のDockerコンテナの情報確認
$ sudo docker ps
$ sudo docker ps -a -n=5                (-aオプションで終了したコンテナを閲覧。-n=numは最近立ち上げたコンテナをnum個表示する)
$ sudo docker logs ***CONTAINER_ID***
  • 起動中のDockerコンテナのプロセス終了
$ sudo docker stop ***CONTAINER_ID***
$ sudo docker kill ***CONTAINER_ID***
  • 終了状態のDockerコンテナ再起動
$ sudo docker start ***CONTAINER_ID***
  • Dockerコンテナの削除
$ sudo docker rm ***CONTAINER_ID***
  • background起動中Dockerコンテナをforegroundにする(sig-proxyをfalseにするとCntl-Cで再びbackgroundに出来る)
$ sudo docker attach --sig-proxy=false ***CONTAINER_ID***
  • Dockerコンテナからイメージを作る(image_nameは慣習的に user_name/image_nameらしい)
$ sudo docker commit ***CONTAINER_ID*** image_name
  • DockerfileからDockerイメージを作る(Dockerfileはvagrant下に配置した)
$ sudo docker build -t image_name Dockerfile_PATH

やりたいこと

vagrant 1.6にバージョンアップしたことでDockerが新しいProviderとして追加された。まだ何が出来るのかも何も触れてない。vagrant + Dockerでどんなことが出来るのか試してみたいな。