【Docker】Docker compose ~ 入門編 ~

■ はじめに

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】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】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)動作確認

* ブラウザで以下にアクセスする

http://localhost:8000

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 ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432
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