🐳

Docker コマンドをまとめる

に公開

この記事の内容

Docker コマンドを検索すると、サブコマンド導入前のものがヒットしがち。
個人的によく使うコマンドをまとめる。

参考

https://book.impress.co.jp/books/1121101138

基本公式

docker 対象 操作

具体例

1. container

1.1 run: コンテナを作って起動する

httpd イメージからコンテナを作り、起動する。

docker container run --name apache01 -p 8080:80 -d httpd

オプション

  • --name : コンテナに apache01 という名前をつける
  • -p : ホストの 8080 番ポートをコンテナの 80 番ポートにマッピング(ポートフォワーディング)する
  • -d : バックグラウンドで実行する

1.2 stop: コンテナを停止する

apache01 という名前のコンテナを停止する。

docker container stop apache01

1.3 start: コンテナを起動する

stop している apache01 という名前のコンテナを起動する。

docker container start apache01

1.4 rm: コンテナを削除する

apache01 という名前のコンテナを削除する。

docker container rm apache01

1.5 ls: コンテナ一覧を表示する

実行中のコンテナ一覧を表示する。

docker container ls

停止中のコンテナも含めて全部見たいときは

docker container ls -a

2. compose

2.1 build: イメージのビルド

イメージのビルドだけして、コンテナの実行はしない。

docker compose build

キャッシュを使わずにイメージをビルドしたかったら

docker compose build --no-cache

2.2 up: コンテナを作って実行する

コンテナを作成し、実行する。
イメージがなかったらビルドもしてくれる。

-d オプションを使うとバックグラウンドで実行する。

docker compose up -d

イメージのビルドもしたかったら

docker compose up -d --build

2.3 stop: コンテナを停止する

docker compose stop

2.4 start: コンテナを起動する

stop しているコンテナを起動する。

docker compose start

2.5 down: コンテナを停止して削除する

docker compose down

イメージも削除したかったら

docker compose down --rmi all

ボリュームも削除したかったら

docker compose down -v

2.6 ps: コンテナ一覧を表示する

Compose プロジェクトの実行中のコンテナ一覧を表示する。

docker compose ps

停止中のコンテナも含めて全部見たいときは

docker compose ps -a

2.7 logs: コンテナのログを出力する

container01 という名前のコンテナのログを出力する。

-f オプションでログを出力し続ける。

docker compose logs -f container01

2.8 exec: コンテナ内でコマンドを実行する

container01 という名前のコンテナ内で bash を立ち上げる。

docker compose exec container01 bash

2.9 cp: ホストとコンテナでファイルをやりとりする

2.9.1 コンテナ → ホスト

container01 コンテナの path/to/container-file をホストのカレントディレクトリにコピーする。

docker compose cp container01:path/to/container-file .
2.9.2 ホスト → コンテナ

ホストの path/to/host-filecontainer01 コンテナの path/to/container-file にコピーする。

docker compose cp path/to/host-file container01:path/to/container-file

3. image

3.1 build: イメージをビルドする

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

docker image build .

3.2 ls: イメージの一覧を表示する

docker image ls

3.3 rm: イメージを削除する

image01 という名前のイメージを削除する。

docker image rm image01

rmi というエイリアスもある。

docker rmi image01

3.4 prune: 未使用のイメージを一括削除

docker image prune

4. network

4.1 ls: ネットワークの一覧を表示する

docker network ls

4.2 prune: 未使用のネットワークを一括削除

docker network prune

5. volume

5.1 ls: ボリュームの一覧を表示する

docker volume ls

5.2 rm: ボリュームを削除する

volume01 という名前のボリュームを削除する。

docker volume rm volume01

5.3 prune: 未使用のボリュームを一括削除

docker volume prune

Discussion