| ビルド |
|---|
| Dockerfileからイメージをビルドします。 | docker build -t app:1.0 . |
| キャッシュされたレイヤーを無視して、イメージを最初からビルドし直します。 | docker build --no-cache -t app:1.0 . |
| multi-stage Dockerfileの指定したstageまでだけをビルドします。 | docker build --target deps -t app:deps . |
| BuildKitを駆動するbuildxプラグイン経由でイメージをビルドします。 | docker buildx build -t app:1.0 . |
| 1つのイメージを複数のCPUアーキテクチャ向けにビルドします。 | docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push . |
| イメージ |
|---|
| レジストリからイメージをダウンロードします。 | docker pull node:20 |
| ローカルに保存されたイメージを一覧表示します。 | docker images |
| 同じイメージを指す新しいタグを作成します。 | docker tag app:1.0 app:latest |
| ローカルのイメージを1つ以上削除します。 | docker rmi app:1.0 |
| コンテナのライフサイクル |
|---|
| イメージからコンテナを作成して起動します。 | docker run -p 8080:3000 app |
| 起動せずにコンテナを作成します。 | docker create --name web app |
| 停止済みのコンテナを起動します。 | docker start web |
| 実行中のコンテナをグレースフルに停止します。 | docker stop web |
| コンテナの停止と起動を1ステップで行います。 | docker restart web |
| グレースフルなシャットダウンを待たずにコンテナを強制停止します。 | docker kill web |
| コンテナ内のすべてのプロセスを凍結します。 | docker pause web |
| 一時停止中のコンテナのプロセスを再開します。 | docker unpause web |
| コンテナが停止するまでブロックし、終了コードを出力します。 | docker wait web |
| 実行中のコンテナを一覧表示します。-aを付けると停止済みも含まれます。 | docker ps -a |
| 既存のコンテナに新しい名前を付けます。 | docker rename web web-old |
| コンテナのリソース制限や再起動ポリシーを変更します。 | docker update --restart=unless-stopped web |
| 停止済みのコンテナを削除します。 | docker rm web |
| runフラグ |
|---|
| コンテナをバックグラウンドで実行し、そのIDを出力します。 | docker run -d -p 8080:80 app |
| コンテナのポートをホストのポートで公開します。 | docker run -p 8080:80 app |
| ホストのフォルダーまたは名前付きボリュームをコンテナにマウントします。 | docker run -v app-data:/data app |
| コンテナ内に環境変数を設定します。 | docker run -e MODE=prod app |
| 後続のコマンドで使う固定名をコンテナに付けます。 | docker run --name web app |
| 終了時にコンテナを削除します。 | docker run --rm app |
| 指定したネットワーク上でコンテナを起動します。 | docker run --network net app |
| いつコンテナを再起動するかをDockerに指示します。 | docker run --restart unless-stopped app |
| 端末を割り当て、stdinを開いたままにして対話セッションを可能にします。 | docker run -it alpine sh |
| イメージのentrypointを独自のコマンドに置き換えます。 | docker run --entrypoint sh app |
| コンテナが使えるメモリまたはCPUシェアに上限を設けます。 | docker run --memory 512m --cpus 0.5 app |
| 状態の確認 |
|---|
| コンテナのstdoutとstderrを読みます。-fは到着する新しい出力に追随します。 | docker logs -f web |
| コンテナまたはイメージの低レベルな設定と状態を表示します。 | docker inspect web |
| Goテンプレートでinspectから1つのフィールドを取り出します。 | docker inspect --format '{{.State.Status}}' web |
| コンテナが公開しているホストポートを一覧表示します。 | docker port web |
| イメージと比較して、コンテナが変更したファイルを表示します。 | docker diff web |
| 実行中コンテナのCPU・メモリ・ネットワークをライブで表示します。 | docker stats |
| コンテナ内で実行中のプロセスを一覧表示します。 | docker top web |
| デーモンからのDockerイベントを発生時に合わせてストリーミングします。 | docker events --filter type=container |
| イメージ、コンテナ、ボリューム、キャッシュが使うディスク容量を表示します。 | docker system df |
| システム全体のDocker設定と状態を表示します。 | docker info |
| execとattach |
|---|
| 実行中のコンテナ内でコマンドを実行します。 | docker exec -it web sh |
| 端末をコンテナのメインプロセスに接続します。 | docker attach web |
| ファイルとレジストリ |
|---|
| コンテナとローカルファイルシステム間でファイルをコピーします。 | docker cp web:/app/logs ./logs |
| CLIからレジストリにサインインします。 | docker login |
| レジストリからサインアウトします。 | docker logout |
| ローカルのイメージをレジストリにアップロードします。 | docker push user/app:1.0 |
| イメージをtarファイルに書き出します。 | docker save -o app.tar app:1.0 |
| tarファイルからイメージを読み込みます。 | docker load -i app.tar |
| コンテナのファイルシステムをtarファイルに書き出します。 | docker export web > web.tar |
| tarファイルシステムからイメージを作成します。 | docker import web.tar web:snap |
| コンテナの現在の状態を新しいイメージに変えます。 | docker commit web app:snap |
| ボリューム |
|---|
| 永続データ用の名前付きボリュームを作成します。 | docker volume create data |
| ボリュームを一覧表示します。 | docker volume ls |
| ボリュームを削除します。 | docker volume rm data |
| ネットワーク |
|---|
| ネットワークを一覧表示します。 | docker network ls |
| コンテナ同士が通信できるようネットワークを作成します。 | docker network create net |
| 実行中のコンテナをネットワークに接続します。 | docker network connect net web |
| Compose |
|---|
| compose.yamlのサービスをビルド、(再)作成、起動します。-dはバックグラウンドで実行を続けさせます。 | docker compose up -d |
| サービスを起動する前に、そのイメージを再ビルドします。 | docker compose up --build -d |
| 実行中のサービスコンテナ内でコマンドを実行します。 | docker compose exec api sh |
| 1つ以上のサービスのログを追跡します。 | docker compose logs -f api |
| Composeが管理するサービスコンテナを一覧表示します。 | docker compose ps |
| サービスコンテナを削除せずに停止します。 | docker compose stop |
| サービスコンテナを再起動します。 | docker compose restart api |
| コンテナとネットワークを停止して削除します。-vは名前付きボリュームも削除します。 | docker compose down |
| マージと環境変数の置換後の最終Compose設定を表示します。 | docker compose config |
| クリーンアップ |
|---|
| 停止済みコンテナ、danglingイメージ、未使用のネットワークを削除します。-a --volumesは未使用のイメージとボリュームも削除します。 | docker system prune -af |
| 停止済みのコンテナをすべて削除します。 | docker container prune |
| 未使用またはdanglingのイメージを削除します。 | docker image prune -a |
| どのコンテナも使っていないボリュームを削除します。 | docker volume prune |
| どのコンテナも使っていないネットワークを削除します。 | docker network prune |
| キャッシュされたビルドレイヤーを削除します。 | docker builder prune |