備忘として、個人的によく使うdockerコマンドとdocker-composeコマンドをまとめていきます。追加修正があった場合は随時更新していきます。
dockerコマンド
docker images
Dockerイメージの一覧表示
docker ps
Dockerコンテナの起動中のみ表示
※停止中も含めて表示する場合は、オプション「-a」をつける
$ docker ps -a
docker rm [コンテナID]
Dockerコンテナの削除
※複数ある場合は、半角スペースで区切って指定可能
docker rmi [イメージ名 or イメージID]
Dockerイメージの削除
※削除対象のイメージを使用したコンテナが存在する場合(停止中のコンテナを含め)、削除できない。
その場合はまずコンテナを削除してから、イメージを削除する。
docker exec -it [コンテナ名] [コマンド]
起動中のDockerコンテナでコマンドを実行
「docker-compose exec ~」コマンドの場合は、引数にサービス名を指定するが、「docker exec ~」の場合はコンテナ名を指定する。存在しないコンテナ名を指定した場合は「Error: No such container: ~」というエラーが返ってくる。
例:sample-containerというコンテナにbashでログイン(この場合bashコマンドが使えるコンテナでないといけない)
$ docker exec -it sample-container bash
オプション「-it」を付けることでbashコマンドを入力できる状態になる。
オプション「-it」それぞれの説明は下記の通り。
オプション「-i」
– 「–interactive」でもよい。
– 英語の説明では「Keep STDIN open even if not attached」
– つまり、標準入力を開けておく、というオプション
オプション「-t」
– 「–tty」でもよい。
– 英語の説明では「Allocate a pseudo-TTY」
– つまり、疑似端末を割り当てる、というオプション
参考:https://docs.docker.com/engine/reference/commandline/exec/
docker system df
Dockerの容量状況の確認
docker builder prune
DockerのBuild Cacheの削除
docker inspect 【コンテナID】
Dockerコンテナの詳細を確認
コンテナのvolumeのホスト側の実態がどこにあるのかを確認したり、環境変数がどうなっているかを確認したり、ネットワークの設定を確認したりと、様々なコンテナの設定状況を確認したい時に使える。
docker-composeコマンド
docker-compose build
Dockerfileを元にDockerイメージ(コンテナではなく)をビルド
キャッシュを使わずにビルドする場合はオプション「–no-cache」をつける
$ docker-compose build –no-cache
docker-compose up
Dockerコンテナの起動
コマンド実行時のカレントディレクトリにdocker-compose.ymlがあること。
バックグラウンドで実行する場合はオプション「-d」をつける。
$ docker-compose up -d
docker-compose down
Dockerコンテナの停止&削除
docker-compose exec [サービス名] [コマンド]
起動中のサービスでコマンドを実行する
「docker exec ~」の場合はコンテナ名を指定していたが、「docker-compose exec ~」の場合はサービス名を指定する。
サービス名はdocker-compose.ymlを見て判断しているようなので、docker-compose.ymlのあるディレクトリで実行する。
また、存在しないサービス名やコマンドを指定しても、エラーを表示せずそのままコマンドが終了するようです。