Dockerコマンド入門
この記事では、Dockerの基本的なコマンドからdocker-composeの使い方など、知っておくべきコマンドを学習したのでそれの備忘録として書いていく。
Dockerの基本コマンド
1. docker run
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
指定したイメージから新たなコンテナを作成し、起動するコマンド。
たとえば、Ubuntuのコンテナを起動してbashを利用する場合は、以下のように実行する。
docker run -it ubuntu /bin/bash
-
-it
オプションは、端末を割り当てインタラクティブモードで起動するためのものらしい。
2. docker ps
docker ps [OPTIONS]
現在実行中のコンテナ一覧を表示するコマンド。
すべてのコンテナ(停止中も含む)を確認するには、-a
オプションを使用する。
docker ps -a
3. docker stop
docker stop CONTAINER_ID
指定したコンテナを停止するコマンド。
4. docker start
docker start CONTAINER_ID
一度停止したコンテナを再起動するコマンド。
5. docker rm
docker rm CONTAINER_ID
停止中のコンテナを削除するコマンド。
すべての停止中コンテナを削除する場合は、以下のように実行できる。
docker rm $(docker ps -a -q)
6. docker images
docker images [OPTIONS]
ローカルに保存されているDockerイメージの一覧を表示するコマンド。
7. docker rmi
docker rmi IMAGE_ID
不要になったイメージを削除するコマンド。
8. docker logs
docker logs [OPTIONS] CONTAINER_ID
指定したコンテナのログを表示するコマンド。
-f
オプションを付けるとログを追いかけることができる。
docker logs -f CONTAINER_ID
9. docker exec
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
既に起動中のコンテナ内で新たなコマンドを実行するためのコマンド。
たとえば、実行中のコンテナ内でbashシェルを起動するには以下のようにする。
docker exec -it CONTAINER_ID /bin/bash
10. docker build
docker build [OPTIONS] PATH | URL | -
Dockerfileを元に新たなイメージを作成するコマンド。
タグを付けたい場合は -t
オプションを用いる。
docker build -t my-image .
docker-composeのコマンド
1. docker-compose up
docker-compose up [OPTIONS]
docker-compose.yml
に定義された全サービスを起動するコマンド。
バックグラウンドで起動する場合は -d
オプションを使用する。
docker-compose up -d
2. docker-compose down
docker-compose down [OPTIONS]
全てのコンテナ、ネットワーク、ボリューム(指定していれば)などを停止・削除するコマンド。
docker-compose down
3. docker-compose build
docker-compose build [OPTIONS] [SERVICE...]
サービスごとにDockerfileを元にイメージをビルドするコマンド。
docker-compose build
- 起動コマンドと一緒に指定してビルドもできる。(私はこれをよく多用する)
docker-compose up --build
4. docker-compose logs
docker-compose logs [OPTIONS] [SERVICE...]
各サービスのログを表示するコマンド。
ログをリアルタイムに追いかける場合は -f
オプションを使用する。
docker-compose logs -f
5. docker-compose restart
docker-compose restart [SERVICE...]
指定したサービスまたは全サービスを再起動するコマンド。
追加で知っておくべきコマンド
1. docker system prune
docker system prune [OPTIONS]
不要なコンテナ、イメージ、ネットワーク、ビルドキャッシュなどを一括で削除するコマンド。
特にディスク容量を圧迫している場合に有効で、-a
オプションで未使用のすべてのデータを削除できる。
docker system prune -a
2. Dockerボリューム関連コマンド
-
ボリューム一覧の表示
docker volume ls
-
ボリュームの作成
docker volume create VOLUME_NAME
-
ボリュームの削除
docker volume rm VOLUME_NAME
3. Dockerネットワーク関連コマンド
-
ネットワーク一覧の表示
docker network ls
-
ネットワークの作成
docker network create NETWORK_NAME
-
ネットワークの削除
docker network rm NETWORK_NAME
4. docker inspect
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
コンテナ、イメージ、ボリューム、ネットワークなどの詳細情報をJSON形式で表示するコマンド。
トラブルシュートや設定内容の確認に有用である。
5. docker history
docker history [OPTIONS] IMAGE
イメージの各レイヤーの変更履歴を表示するコマンド。
イメージの構築過程を確認するのに役立つ。
6. docker stats
docker stats [OPTIONS] [CONTAINER...]
実行中のコンテナのCPU、メモリ、ネットワーク、ディスクI/Oなどのリソース使用状況をリアルタイムで表示するコマンド。
使いこなすの難しいけど頑張って覚えよう。