■ はじめに
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コマンド 1)docker-compose up -d / docker compose up -d 2)docker-compose down / docker compose down 【2】Hello world 【3】WordPress を構築する 1)docker-compose.yml を作成する 2)コンテナ作成および起動 3)動作確認 4)コンテナ停止
【1】docker-compose / docker composeコマンド
* 関係するdocker-compose / docker composeコマンドを記す
1)docker-compose up -d / docker compose up -d
https://docs.docker.jp/compose/reference/up.html
https://docs.docker.jp/engine/reference/commandline/compose_up.html
* サービス用のコンテナを構築、作成、起動、アタッチ
オプション「-d, --detach」
* デタッチド・モード * バックグラウンドでコンテナを実行し、新しいコンテナ名を表示
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 で作成した以下のコンポーネントを削除 + コンテナ + ネットワーク + ボリューム + イメージ
【2】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
【3】WordPress を構築する
https://dk521123.hatenablog.com/entry/2022/04/29/000000
で行った WordPress (MySQL+WordPress)を docker-compose で構築する 以下の本 および 公式ドキュメントのクィックスタートを 参考にしている。
https://docs.docker.jp/compose/wordpress.html
補足1:元ネタとなった図書館で借りた本
1)docker-compose.yml を作成する
* docker compose (v2)の場合は、「compose.yaml」が基本
docker-compose.yml
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql networks: - network-for-wordpress restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: - wordpress_data:/var/www/html networks: - network-for-wordpress ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress networks: network-for-wordpress: volumes: db_data: wordpress_data:
2)コンテナ作成および起動
docker-compose up -d # docker compose up -d
3)動作確認
* ブラウザで以下にアクセスする
4)コンテナ停止
# コンテナとデフォルトネットワーク、 # さらに WordPress データベースも削除 docker-compose down --volumes # docker compose down --volumes
関連記事
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 ~ 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 ~ 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