1. Qiita
  2. 投稿
  3. docker

実例で学ぶDockerコマンド

  • 425
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Docker Cheat SheetというDockerの基礎のまとめが良かったので翻訳してみた(Docker 虎の巻).このまとめは説明は十分にあるが,例がほとんどない.実例を使って,コンテナとイメージに関する基礎コマンドをまとめてみる.

OS XでDockerを使う場合

vagrantを使ってる場合は今すぐ1.4にバージョンを上げる.
Download Vagrant - Vagrantより.dmgをダウンロードしてきてインストール.

vagrant init precise64 http://files.vagrantup.com/precise64.box

Vagrantfileを以下のようにすれば,すぐにDockerを使える.

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise64"
  config.vm.provision :docker do |d|
    d.pull_images "ubuntu"
  end  
end

ログイン

vagrant ssh 

準備

コンテナのIDをいちいち保持しておくのは面倒,忘れるので,以下のaliasをホスト側で設定しておくと直近に起動したコンテナのIDを呼び出すことができるようになり便利 (15 Docker tips in 5 minutes).

alias dl='docker ps -l -q'

コンテナ

コンテナを作成する.-dオプションでバックグラウンドで実行する.

docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

コンテナを停止する.

docker stop `dl`

コンテナを起動する.

docker start `dl`

コンテナを再起動する.

docker restart `dl`

起動中のコンテナに接続する.

docker attach `dl`

コンテナ内のファイルをホストにコピーする.

docker cp `dl`:/etc/passwd .

ホストのディレクトリをコンテナにマウントする.

docker run -v /home/vagrant/test:/root/test ubuntu echo yo

コンテナを削除する.

dockr rm `dl`

コンテナの情報

起動中のコンテナを表示する.停止中のコンテナも表示するには,-aオプション.

docker ps

コンテナの情報(IPなど)を表示する.

docker inspect `dl`

コンテナのログを表示する.

docker logs `dl`

コンテナのプロセスを表示する.

docker top `dl`

イメージ

コンテナからイメージを作成する.タグ名は<username>/<imagename>が奨励されている

docker run -d ubuntu /bin/sh -c "apt-get install -y hello"
docker commit -m "My first container" `dl` tcnksm/hello

Dockerfileからイメージを作成する.

echo -e "FROM base\nRUN apt-get install hello\nCMD hello" > Dockerfile
docker build tcnksm/hello .

イメージ内にログインする.-rmオプションをつけるとコンテナの停止後にそのコンテナは破棄される.

docker run -rm -t -i tcnksm/hello /bin/bash

イメージをリモートレポジトリにアップロードする.あらかじめDocker indexにアカウントを作成しておく必要がある.今回の例はこちら.

docker login
docker push tcnksm/hello

イメージを削除する.

docker rmi tcnkms/hello

イメージの情報

イメージ一覧を表示する.

docker images

イメージの詳細情報(IPなど)を表示する.

docker inspect tcnksm/hello

イメージのコマンド履歴を表示する.

docker history tcnksm/hello
Comments Loading...