■ はじめに
https://dk521123.hatenablog.com/entry/2020/04/11/000000
https://dk521123.hatenablog.com/entry/2020/12/18/152949
https://dk521123.hatenablog.com/entry/2022/04/28/000000
の続き。 今回は、入門として、docker-compose (v1) / docker compose (v2) の ハンズオンをしてみる。
目次
【1】docker-compose / docker compose up 1)オプション「-d, --detach」 2)オプション「-f」 3)オプション「-p, --project」 4)オプション「abort-on-container-exit」 【2】docker-compose down / docker compose down 1)オプション「-v, --volumes」 2)オプション「-f」 【3】Hello world
【1】docker-compose / docker compose up
* 関係するdocker-compose / docker composeコマンドを記す
https://docs.docker.jp/compose/reference/up.html
https://docs.docker.jp/engine/reference/commandline/compose_up.html
* サービス用のコンテナを構築、作成、起動、アタッチ
1)オプション「-d, --detach」
* デタッチド・モード * バックグラウンドでコンテナを実行し、新しいコンテナ名を表示
2)オプション「-f」
* ファイル名を指定して実行
https://www.curict.com/item/df/df2f743.html
https://qiita.com/Y-Kanoh/items/09773381672985995fdf
用途
* デフォルトのファイル名以外を利用したい場合 * 別階層のファイルを指定したい場合
コマンド例
# docker compose -f ファイル名 コマンド docker compose -f docker-compose-test.yml up # 重ね掛けも可能 # docker compose -f docker-compose.yml -f docker-compose-test.yml up
使用上の注意
# 「docker compose コマンド -f ファイル名」だとエラー $ docker compose up -f docker-compose.yml unknown shorthand flag: 'f' in -f
3)オプション「-p, --project」
* プロジェクト名を変更 => ${プロジェクト名}_${サービス名}にイメージ名を変更可能
https://future-architect.github.io/articles/20240620a/
4)オプション「abort-on-container-exit」
* コンテナが1つでも停止したら全てのコンテナを停止
使用上の注意
* -d と同時に使えない
【2】docker-compose down / docker compose down
https://docs.docker.jp/compose/reference/down.html
https://docs.docker.jp/engine/reference/commandline/compose_down.html
* コンテナを停止 * up で作成した以下のコンポーネントを削除 + コンテナ + ネットワーク + ボリューム + イメージ
1)オプション「-v, --volumes」
# ボリュームを削除 docker compose -v down
2)オプション「-f」
docker compose -f docker-compose.yml -f docker-compose-test.yml -v down
【3】Hello world
* 恒例のHello worldをしてみる
docker-compose.yml
version: '3' services: hello-world: image: docker/getting-started ports: - "80:80"
コマンド例
# Step1: 立ち上げる sudo docker compose up -d [+] Running 10/10 ✔ hello-world 9 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 13.2s ✔ c158987b0551 Pull complete 3.3s ✔ 1e35f6679fab Pull complete 5.2s ✔ cb9626c74200 Pull complete 5.2s ✔ b6334b6ace34 Pull complete 5.3s ✔ f1d1c9928c82 Pull complete 5.4s ✔ 9b6f639ec6ea Pull complete 5.5s ✔ ee68d3549ec8 Pull complete 8.6s ✔ 33e0cbbb4673 Pull complete 8.7s ✔ 4f7e34c2de10 Pull complete 8.9s [+] Running 2/2 ✔ Network hello_default Created 0.3s ✔ Container hello-hello-world-1 Started 4.7s # Step2: ブラウザで、http://localhost/ にアクセスする # => 「Getting Started」が表示されればOK # Step3: 後片付け sudo docker compose down # 以下のコマンドで確認 sudo docker compose ls
関連記事
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
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 ~ 拡張フィールド ~
https://dk521123.hatenablog.com/entry/2024/08/21/000445
Docker compose ~ 環境変数 ~
https://dk521123.hatenablog.com/entry/2024/08/22/000539
Docker compose ~ PostgreSQL ~
https://dk521123.hatenablog.com/entry/2023/07/20/025544
Docker compose ~ Pgweb/pgAdmin ~
https://dk521123.hatenablog.com/entry/2023/08/10/111919
Docker compose ~ WordPress ~
https://dk521123.hatenablog.com/entry/2024/06/14/000000
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432
Dockerfile / Docker Compose でシェルを実行する
https://dk521123.hatenablog.com/entry/2023/07/21/234509
Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Docker ~ 基本編 / Data Volume ~
https://dk521123.hatenablog.com/entry/2018/09/08/222100