コマンド@Docker compose¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. docker compose
コマンド¶
config¶
▼ configとは¶
バリデーションとして、docker-compose.yml
ファイルを展開する。
ファイル内で、相対パスや変数を使用している場合、これらが正しく設定されているかを確認できる。
$ docker compose config
build¶
▼ buildとは¶
イメージをビルドする。
▼ --no-cache¶
キャッシュを使用せずにコンテナイメージをビルドする。
$ docker compose build --no-cache
up¶
▼ upとは¶
指定したサービスのコンテナイメージのビルド、コンテナレイヤー作成、コンテナ作成、コンテナ起動を実行する。
コンテナ作成までが完了していて停止中が存在する場合、これをコンテナを起動する。
また起動中コンテナがあれば、これを再起動する。
オプションにより起動モードが異なる。
▼ オプション無し¶
指定したサービスのコンテナイメージのビルド、コンテナレイヤー作成、コンテナ作成、コンテナ起動を実行する。
アタッチモードでコンテナを起動する。
# アタッチモード
$ docker compose up <サービス名>
▼ -d¶
指定したサービスのコンテナイメージのビルド、コンテナレイヤー作成、コンテナ作成、コンテナ起動を実行する。
デタッチドモードでコンテナを起動する。
# デタッチモード
$ docker compose up -d <サービス名>
▼ --build¶
イメージをビルドし、コンテナを作成する。
$ docker compose up --build -d <サービス名>
▼ -f¶
ファイルを指定して、docker-composeを実行する。
$ docker compose up -f foo-docker-compose.yml
run¶
▼ runとは¶
すでに停止中または起動中コンテナが存在していても、これとは別にコンテナを新しく作成し、起動する。
加えてそのコンテナ内でコマンドを実行する。
起動時にbash
プロセスやshell
プロセスを実行すると、コンテナに通信できる。
何も渡さない場合は、デフォルトのプロセスとしてbash
プロセスが実行される。
docker compose run
コマンドでは、アタッチモードとデタッチモードを選択できる。
新しく起動したコンテナを停止後に自動削除する場合は、rm
オプションを付けるようにする。
service-ports
オプションを使用しないと、ホストとコンテナ間のポートフォワーディングを有効化できないため注意する。
▼ --service-ports¶
既存コンテナを残して、指定したサービスの新しいコンテナをアタッチモードで起動する。
また、ホストとコンテナ間のポートフォワーディングを有効化するか否かを設定する。
# アタッチモード
$ docker compose run --rm --service-ports <サービス名>
▼ -d --service-ports¶
既存コンテナを残して、指定したサービスの新しいコンテナをデタッチドモードで起動する。
また、ホストとコンテナ間のポートフォワーディングを有効化するか否かを設定する。
# デタッチモード
$ docker compose run --rm -d --service-ports <サービス名>
stop¶
▼ stopとは¶
指定したサービスの起動中コンテナを全て停止する。
$ docker compose stop <サービス名>
down¶
▼ downとは¶
コンテナを削除する。
オプションで、指定したリソースを削除する。
▼ --volumes¶
コンテナを削除し、ボリュームを削除する。
$ docker compose down --volumes
▼ --rmi --volumes --remove-orphans¶
コンテナを削除し、全てのリソース (イメージ、コンテナ、ボリューム、ネットワーク) を削除する。
$ docker compose down --rmi all --volumes --remove-orphans
logs¶
▼ logsとは¶
コンテナ内に入ることなく、起動プロセスから出力されるログを確認できる。
オプションごとに、ログの表示タイプが異なる。
▼ オプション無し¶
バックグラウンドでログを取得する。
$ docker compose logs <サービス名>
▼ -f¶
フォアグラウンドでログを取得する。
$ docker compose logs -f <サービス名>
02. compose-cli¶
down¶
クラウドインフラの削除をプロビジョニングする。
コンテキストがAWSの場合は、AWS ECSクラスターとその中身を削除する。
up¶
クラウドインフラの作成をプロビジョニングする。
コンテキストがAWSの場合は、AWS ECSクラスターとその中身を作成する。