Skip to content

Docker コマンド早見表 (Cheat Sheet)

Docker は、開発者がアプリケーションと依存関係をポータブルなイメージにパックし、一般的な Linux または Windows マシンに公開して仮想化を実現できるオープンソースのアプリケーションコンテナエンジンです。コンテナは完全にサンドボックスメカニズムを使用し、相互にインターフェースを持ちません。

一般的な使用方法

コンテナをバックグラウンドで起動する

docker run -d jenkins

対話型コンテナを起動する

docker run -it ubuntu bash

停止時に自動的に削除されるコンテナを起動する

docker run --rm ubuntu bash 

ポートマッピングを指定してコンテナを起動する

docker run -p 80:80 -d nginx 

名前を指定してコンテナを起動する

docker run --name mydb redis 

停止しているコンテナを起動する

docker start mydb 

コンテナを停止する

docker stop mydb

コンテナを起動しメタデータを追加する

docker run -d \ label=traefik.backend=jenkins jenkins

イメージのビルド

現在のディレクトリの Dockerfile からイメージをビルドする

docker build --tag myimage . 

イメージの強制再ビルド

docker build --no-cache . 

コンテナをイメージに変換する

docker commit c7337 myimage 

未使用のイメージをすべて削除する

docker rmi $(docker images -q -f "dangling=true")

デバッグ

実行中のコンテナにログインする

docker exec -it c7337 docker

デーモンとして実行されているコンテナのログを表示する

docker logs -f c7337

コンテナの公開ポートを表示する

docker port c7337

ボリュームとネットワーク

ローカルボリュームを作成する

docker volume create --name myvol 

コンテナ起動時にボリュームをマウントする

docker run -v myvol:/data redis

ボリュームを削除する

docker volume rm myvol 

すべてのボリュームをリスト表示する

docker volume ls

ローカルネットワークを作成する

docker network create mynet 

起動時にコンテナをネットワークに接続する

docker run -d --net mynet redis

コンテナを特定のネットワークに接続する

docker network connect mynet c7337 

コンテナをネットワークから切断する

docker network disconnect mynet c7337

コンテナ管理

実行中のコンテナをリスト表示する

docker ps

すべてのコンテナをリスト表示する(実行中および停止中を含む)

docker ps -a

コンテナのメタデータを確認する

docker inspect c7337

ローカルの利用可能なすべてのイメージをリスト表示する

docker images

停止しているすべてのコンテナを削除する

docker rm $(docker ps --filter status=exited -q) 

特定のラベルを持つすべてのコンテナをリスト表示する

docker ps --filter label=traefik.backend

実行中のコンテナの IP アドレスを照会する

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

説明

イメージ名

redis, jenkins, nginx

コンテナ名またはコミット ID

mydb  # コンテナ名 
c7337 # コミット ID