Docker コマンドをまとめる
この記事の内容
Docker コマンドを検索すると、サブコマンド導入前のものがヒットしがち。
個人的によく使うコマンドをまとめる。
参考
基本公式
docker 対象 操作
具体例
container
系
1.
run
: コンテナを作って起動する
1.1 httpd
イメージからコンテナを作り、起動する。
docker container run --name apache01 -p 8080:80 -d httpd
オプション
-
--name
: コンテナにapache01
という名前をつける -
-p
: ホストの 8080 番ポートをコンテナの 80 番ポートにマッピング(ポートフォワーディング)する -
-d
: バックグラウンドで実行する
stop
: コンテナを停止する
1.2 apache01
という名前のコンテナを停止する。
docker container stop apache01
start
: コンテナを起動する
1.3 stop
している apache01
という名前のコンテナを起動する。
docker container start apache01
rm
: コンテナを削除する
1.4 apache01
という名前のコンテナを削除する。
docker container rm apache01
ls
: コンテナ一覧を表示する
1.5 実行中のコンテナ一覧を表示する。
docker container ls
停止中のコンテナも含めて全部見たいときは
docker container ls -a
compose
系
2.
build
: イメージのビルド
2.1 イメージのビルドだけして、コンテナの実行はしない。
docker compose build
キャッシュを使わずにイメージをビルドしたかったら
docker compose build --no-cache
up
: コンテナを作って実行する
2.2 コンテナを作成し、実行する。
イメージがなかったらビルドもしてくれる。
-d
オプションを使うとバックグラウンドで実行する。
docker compose up -d
イメージのビルドもしたかったら
docker compose up -d --build
stop
: コンテナを停止する
2.3 docker compose stop
start
: コンテナを起動する
2.4 stop
しているコンテナを起動する。
docker compose start
down
: コンテナを停止して削除する
2.5 docker compose down
イメージも削除したかったら
docker compose down --rmi all
ボリュームも削除したかったら
docker compose down -v
ps
: コンテナ一覧を表示する
2.6 Compose プロジェクトの実行中のコンテナ一覧を表示する。
docker compose ps
停止中のコンテナも含めて全部見たいときは
docker compose ps -a
logs
: コンテナのログを出力する
2.7 container01
という名前のコンテナのログを出力する。
-f
オプションでログを出力し続ける。
docker compose logs -f container01
exec
: コンテナ内でコマンドを実行する
2.8 container01
という名前のコンテナ内で bash
を立ち上げる。
docker compose exec container01 bash
cp
: ホストとコンテナでファイルをやりとりする
2.9 2.9.1 コンテナ → ホスト
container01
コンテナの path/to/container-file
をホストのカレントディレクトリにコピーする。
docker compose cp container01:path/to/container-file .
2.9.2 ホスト → コンテナ
ホストの path/to/host-file
を container01
コンテナの path/to/container-file
にコピーする。
docker compose cp path/to/host-file container01:path/to/container-file
image
系
3.
build
: イメージをビルドする
3.1 カレントディレクトリの Dockerfile からイメージをビルドする。
docker image build .
ls
: イメージの一覧を表示する
3.2 docker image ls
rm
: イメージを削除する
3.3 image01
という名前のイメージを削除する。
docker image rm image01
rmi
というエイリアスもある。
docker rmi image01
prune
: 未使用のイメージを一括削除
3.4 docker image prune
network
系
4.
ls
: ネットワークの一覧を表示する
4.1 docker network ls
prune
: 未使用のネットワークを一括削除
4.2 docker network prune
volume
系
5.
ls
: ボリュームの一覧を表示する
5.1 docker volume ls
rm
: ボリュームを削除する
5.2 volume01
という名前のボリュームを削除する。
docker volume rm volume01
prune
: 未使用のボリュームを一括削除
5.3 docker volume prune
Discussion