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