Docker チートシート/Docker コマンドの一覧

Registry / Repository / Image / Tag の概念

Docker のコンテナレジストリ/リポジトリ/イメージ/タグの関係
図: Docker のコンテナレジストリ/リポジトリ/イメージ/タグの関係
  • DockerHub などのレジストリ上では、複数のリポジトリが管理されている。
  • Top-level リポジトリでは、ubuntu や devian といった有名どころなものが管理されている。
  • Top-level リポジトリ以外に、ユーザリポジトリがあり、こちらは <user>/ というプレフィックスが付く。
  • 各リポジトリ内には複数のイメージがあり、イメージ ID やタグで指定できる。
  • 1 つのイメージに対しては唯一の ID が付けられるが、タグは複数付けられていることがある。

docker image(イメージ関連のコマンド)

コマンド旧コマンド説明
docker image builddocker buildDockerfile からイメージをビルドする
Build an image from a Dockerfile
docker image historydocker historyイメージのレイヤ構造を表示する
Show the history of an image
docker image importdocker importtar ファイルからファイルシステムイメージを作成する
Import the contents from a tarball to create a filesystem image
docker image inspectdocker inspectイメージの詳細を表示する
Display detailed information on one or more images
docker image loaddocker loadtar ファイルや標準入力からイメージをロードする
Load an image from a tar archive or STDIN
docker image lsdocker imagesイメージの一覧を表示する
List images
docker image pruneなし使用していないイメージを削除する
Remove unused images
docker image pulldocker pullレジストリからイメージを取得する
Pull an image or a repository from a registry
docker image pushdocker pushイメージをリポジトリにプッシュする
Push an image or a repository to a registry
docker image rmdocker rmiイメージを削除する
Remove one or more images
docker image savedocker savetar ファイルにイメージを保存する
Save one or more images to a tar archive (streamed to STDOUT by default)
docker image tagdocker tagイメージにタグを付ける
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

docker container(コンテナ関連のコマンド)

コマンド旧コマンド説明
docker container attachdocker attach動作中のコンテナに標準入力や標準出力を接続する
Attach local standard input, output, and error streams to a running container
docker container commitdocker commitコンテナの変更内容から新しいイメージを作成する
Create a new image from a container’s changes
docker container cpdocker cpコンテナとホスト間でファイルをコピーする
Copy files/folders between a container and the local filesystem
docker container createdocker create新しいコンテナを作成する
Create a new container
docker container diffdocker diffInspect changes to files or directories on a container’s filesystem
docker container execdocker exec動作中のコンテナで新しいプロセスを起動する
Run a command in a running container
docker container exportdocker exportExport a container’s filesystem as a tar archive
docker container inspectdocker inspectコンテナの詳細情報を表示する
Display detailed information on one or more containers
docker container killdocker killKill one or more running containers
docker container logsdocker logsFetch the logs of a container
docker container ls
docker container list
docker container pm
docker psコンテナの一覧を表示する
List containers
docker container pausedocker pausePause all processes within one or more containers
docker container portdocker portコンテナとホスト PC のポートマッピング情報を表示する
List port mappings or a specific mapping for the container
docker container pruneなしRemove all stopped containers
docker container renamedocker renameRename a container
docker container restartdocker restartRestart one or more containers
docker container rmdocker rmRemove one or more containers
docker container rundocker run「イメージの取得」「コンテナの作成」「コンテナの起動」を連続して行う
Run a command in a new container
docker container startdocker start作成済みのコンテナを起動する
Start one or more stopped containers
docker container statsdocker statsDisplay a live stream of container(s) resource usage statistics
docker container stopdocker stopStop one or more running containers
docker container topdocker topDisplay the running processes of a container
docker container unpausedocker unpauseUnpause all processes within one or more containers
docker container updatedocker updateUpdate configuration of one or more containers
docker container waitdocker waitBlock until one or more containers stop, then print their exit codes

docker network(ネットワーク関連のコマンド)

コマンド説明
docker network connectコンテナをネットワークに接続する (Connect a container to a network)
docker network createネットワークを作成する (Create a network)
docker network disconnectコンテナをネットワークから切り離す (Disconnect a container from a network)
docker network inspectネットワークの詳細情報を表示する (Display detailed information on one or more networks)
docker network lsネットワークの一覧を表示する (List networks)
docker network prune未使用のネットワークをすべて削除する (Remove all unused networks)
docker network rmネットワークを削除する (Remove one or more networks)

docker volume(ボリューム関連のコマンド)

コマンド説明
docker volume createボリュームを作成する (Create a volume)
docker volume inspectボリュームの詳細情報を表示する (Display detailed information on one or more volumes)
docker volume lsボリュームの一覧を表示する (List volumes)
docker volume prune使用していないボリュームを削除する (Remove all unused local volumes)
docker volume rmボリュームを削除する (Remove one or more volumes)

docker compose(複数コンテナのコントロール)

コマンド説明
docker compose buildBuild or rebuild services
docker compose configValidate and view the Compose file
docker compose convertConverts the compose file to platform’s canonical format
docker compose cpCopy files/folders between a service container and the local filesystem
docker compose createCreates containers for a service
docker compose downStop and remove containers, networks
docker compose eventsReceive real time events from containers
docker compose execExecute a command in a running container
docker compose imagesList images used by the created containers
docker compose killForce stop service containers
docker compose logsView output from containers
docker compose lsList running compose projects
docker compose pausePause services
docker compose portPrint the public port for a port binding
docker compose psList containers
docker compose pullPull service images
docker compose pushPush service images
docker compose restartRestart containers
docker compose rmRemoves stopped service containers
docker compose runRun a one-off command on a service
docker compose startStart services
docker compose stopStop services
docker compose topDisplay the running processes
docker compose unpauseUnpause services
docker compose upCreate and start containers
docker compose versionShow the Docker Compose version information

docker context(Docker コンテキストの切り替え)

コマンド説明
docker context createコンテキストを作成する (Create new context)
docker context exportコンテキストをエクスポートする (Export a context to a tar or kubeconfig file)
docker context importコンテキストをインポートする (Import a context from a tar or zip file)
docker context inspectコンテキストの詳細情報を表示する (Display detailed information on one or more contexts)
docker context listコンテキストの一覧を表示する (List available contexts)
docker context rmコンテキストを削除する (Remove one or more contexts)
docker context show現在のコンテキストを表示する (Print the current context)
docker context update既存のコンテキストの設定を変更する (Update a context)
docker context useカレントコンテキストを切り替える (Set the default context)

その他のコマンド

コマンド説明
docker searchDocker Hub 上のイメージを検索する (Search the Docker Hub for images)
docker system dfShow docker disk usage
docker system eventsGet real time events from the server
docker system infoDisplay system-wide information
docker system prune使用していないデータをまとめて削除 (Remove unused data)
docker builder pruneビルドキャッシュを削除する (Remove build cache)

Docker ファイルの命令

命令内容
# <comment># で始まる行はコメント
ADDファイルをイメージ上にコピーする(URL 指定でのダウンロードや、tar ファイルの展開を行う)
CMDENTRYPOINT が未指定、かつ docker container run で何も指定されなかったときに実行するコマンド
COPYファイルをイメージ上にコピーする
ENTRYPOINTdocker container run 時に実行するコマンド
ENV <name> <value>環境変数を設定する
例: ENV http_proxy http://proxy.example.com:8888/
例: ENV PATH $PATH:/foo/bar
EXPOSE <port>ポートを公開する
FROM <repo>:<tag>ベースイメージを指定する
LABELイメージのメタデータとしてラベルを追加する
MAINTAINER <name> "<email>"イメージのメタデータとしてメンテナ名を追加する(非推奨)
RUN <command>コマンドを実行する(/bin/sh -c による実行)
RUN ["<arg1>", "<arg2>", "<arg3>"]コマンドを実行する(シェルを使わない)
USERRUNCMDENTRYPOINT のコマンドを実行するユーザー
VOLUME共有可能ボリュームをマウントする
WORKDIR <path>作業ディレクトリを設定する。RUNCMDENTRYPOINTADDCOPY 実行時のベースディレクトリとなる。RUN cd では次の命令に引き継がれないので注意