はじめに
忘れっぽいお茶目な自分のためにメモ ✍️
ちなみに私はこの本で Docker に入門しました。
とりあえず Docker 使えるようになりたいぜって人におすすめ
当時は Kindle で無料だった気がするのですが、今は unlimited 会員なら無料になってますね。
基本公式
docker 対象 操作
具体例
1. container
系
run
, start
, stop
, rm
など
Docker Compose 使うからあまり使わない(主観)
1.1 run
: コンテナを作って起動する
コンテナを作成し、同時に起動する。
httpd
イメージから apache01
という名前のコンテナを作り、バックグラウンドで実行する。ホストの 8080 番ポートをコンテナの 80 番ポートにマッピング(ポートフォワーディング)する。
docker container run --name apache01 -p 8080:80 -d httpd
オプション | 意味 |
---|---|
--name |
コンテナに名前をつける |
-p |
ポート番号を指定する |
-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
系
up
, run
, start
, stop
, down
など
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
rm
でもコンテナを削除できる。-s
オプションを使うと停止もできる。
ただし、紐づくネットワークを削除しない。
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/file
をホストのカレントディレクトリにコピーする。
docker compose cp container01:path/to/file .
2.9.2 ホスト → コンテナ
ホストの file
を container01
コンテナの path/to/file
にコピーする。
docker compose cp file container01:path/to/file
3. image
系
build
, ls
, pull
, push
, rm
など
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
docker compose down --rmi all
で削除することも多い。
3.4 prune
: 未使用のイメージを一括削除
docker image prune
4. network
系
create
, ls
, rm
など
compose.yaml で作って(定義して)、docker compose down
で削除することが多いため、create
, rm
はあまり使わない印象 🤔
4.1 ls
: ネットワークの一覧を表示する
docker network ls
4.2 prune
: 未使用のネットワークを一括削除
docker network prune
5. volume
系
create
, ls
, rm
など
compose.yaml で作る(定義する)ことが多いため、create
はあまり使わない印象 🤔
5.1 ls
: ボリュームの一覧を表示する
docker volume ls
5.2 rm
: ボリュームを削除する
volume01
という名前のボリュームを削除する。
docker volume rm volume01
バインドマウントは、コンテナ内 or ホストから直接削除する。
ボリューム、バインドマウントともに docker compose down -v
で削除することも多い。
5.3 prune
: 未使用のボリュームを一括削除
docker volume prune
おわりに
Docker のコマンドはたくさんあって混乱しがち。
サブコマンドが導入される前のものも含めると...😵💫
個人的によく使うものは網羅したつもりなので、困ったらここを見にくる。