■ はじめに
https://dk521123.hatenablog.com/entry/2020/04/24/160044
https://dk521123.hatenablog.com/entry/2018/04/10/234030
の続き。 今回は、docker-compose (v1) / docker compose (v2) に関して、 もう少し深堀りする。
目次
【1】docker-compose / docker compose 【2】他のサービスとの違い 1)Dockerfile との違い 2)Kubernetes との違い 【3】docker-compose / docker composeコマンド 1)docker-compose up -d / docker compose up -d 2)docker-compose ps / docker compose ps 3)docker-compose down / docker compose down 4)docker-compose exec / docker compose exec
【1】docker-compose / docker compose
* 複数のコンテナ(例えば、Webサーバ/DB など)を組み合わせて 1つのアプリケーションとして定義するYAMLファイル => 以下「例:Apacheコンテナの docker-compose.yml」を参照 => 詳細な書き方については、以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2020/12/18/152949
例:Apacheコンテナの docker-compose.yml
version: "3" services: web-server: image: httpd ports: - "8081:80" restart: always
【2】他のサービスとの違い
1)Dockerfile との違い
- | Dockerfile | docker compose |
---|---|---|
Image | 作成可能 | 作成可能 |
Network | 作成不可 | 作成可能 |
Volume | 作成不可 | 作成可能 |
Docker compose
* Imageおよび周辺環境(Network/Volume)を作成する
Dockerfile
* Imageを作るもので、Network/Volumeは作成できない
2)Kubernetes との違い
* コンテナを管理する
Docker compose
* コンテナ群の作成・削除機能はあるが コンテナ管理機能はない
- | Kubernetes | Docker compose |
---|---|---|
コンテナ作成/破棄 | 可能 | 可能 |
コンテナ管理 | 可能 | 不可 |
【3】docker-compose / docker composeコマンド
1)docker-compose up -d / docker compose up -d 2)docker-compose ps / docker compose ps 3)docker-compose down / docker compose down ※ それ以外は、以下のサイトを参照のこと。
https://qiita.com/ryuichi1208/items/8b5adc88a93319cb76a2
1)docker-compose up -d / docker compose up -d
* docker-compose up (v1) / docker compose up (v2) は、サービス起動 * -d は、バックグラウンド起動
2)docker-compose ps / docker compose ps
* コンテナ一覧表示
3)docker-compose down / docker compose down
* コンテナ・ネットワーク・イメージ・ボリュームの停止と削除 => stop は、サービスの停止
全て(※1)を一括消去するコマンド
docker-compose down --rmi all --volumes --remove-orphans # docker compose down --rmi all --volumes --remove-orphans ※1 コンテナ、イメージ、ボリューム、ネットワーク、未定義コンテナ
https://qiita.com/suin/items/19d65e191b96a0079417
4)docker-compose exec / docker compose exec
https://docs.docker.jp/engine/reference/commandline/compose_exec.html
* 実行中のコンテナ内でコマンドを実行
構文
# コンテナ内に入る docker-compose exec <Service Name> /bin/bash # ash: Almquist Shell (組み込み系Linuxではashがポピュラー) docker-compose exec <Service Name> ash
https://qiita.com/HorikawaTokiya/items/f9188d05a58bad47ce8d
関連記事
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000
Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ docker-compose.yml ~
https://dk521123.hatenablog.com/entry/2020/12/18/152949
Docker compose ~ Version 2 ~
https://dk521123.hatenablog.com/entry/2023/01/02/000000
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432
Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2017/09/23/235818
Docker ~ Linux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2018/04/10/234030
Docker ~ 基本編 / Dockerfile ~
https://dk521123.hatenablog.com/entry/2020/04/14/000000
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Docker ~ 基本編 / Data Volume ~
https://dk521123.hatenablog.com/entry/2018/09/08/222100
Docker によるトラブルシューティング
https://dk521123.hatenablog.com/entry/2017/09/24/162257