2026年5月19日
2026年5月19日
docker-compose.ymlの書き方と基本設定
はじめに
Dockerは、アプリケーションとその依存関係を一括して管理できる仮想環境を提供します。docker-compose.ymlファイルを使用することで、複数のコンテナ化されたサービス間での相互作用を定義し、一括で起動・停止・管理することが可能になります。本記事では、Dockerコンテナ化されたWordPress環境を構築するためのdocker-compose.ymlファイルの基本的な書き方と設定方法について解説します。
症状・背景
docker-compose.ymlが必要になる主な場面は以下の通りです:
- WordPressとMySQLなどのデータベースコンテナを一括で起動・停止する必要がある場合
- ローカル環境とデプロイ先のサーバー間での設定の一貫性を確保したい場合
- 複数のサービス間での相互作用を明確に定義したい場合
手順・設定方法
ステップ1: 環境準備
# DockerとDocker Composeがインストールされていることを確認します。
$ docker --version
$ docker-compose --version
ステップ2: docker-compose.ymlファイルの作成
# プロジェクトディレクトリを作成し、初期設定の`docker-compose.yml`ファイルを生成します。
$ mkdir my_wordpress_project
$ cd my_wordpress_project
$ docker-compose init
ステップ3: docker-compose.ymlファイルの編集
# WordPressとMySQLコンテナを定義するサンプルの`docker-compose.yml`ファイルを作成します。
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
ステップ4: 環境変数の設定と起動
# 必要な環境変数を設定します。
$ export MYSQL_ROOT_PASSWORD=somewordpress
$ export WORDPRESS_DB_NAME=wordpress
$ export WORDPRESS_DB_USER=wordpress
$ export WORDPRESS_DB_PASSWORD=wordpress
# `docker-compose up`コマンドでコンテナを起動します。
$ docker-compose up -d
ステップ5: インライン設定の使用
# 環境変数を直接`docker-compose.yml`ファイルにインラインして定義することも可能です。
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${WORDPRESS_DB_NAME}
MYSQL_USER: ${WORDPRESS_DB_USER}
MYSQL_PASSWORD: ${WORDPRESS_DB_PASSWORD}
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
volumes:
db_data:
注意事項
- 環境変数の設定はセキュリティ上の観点から注意が必要です。
- 複数のコンテナ間での相互作用を定義する際は、依存関係の設定が正しくなっていることを確認してください。
docker-compose downコマンドを使用してコンテナを停止することができます。
まとめ
1. docker-compose.ymlファイルの作成と編集: WordPressとMySQLコンテナを定義し、必要なオプションを設定します。
2. 環境変数の使用: 環境に応じて柔軟な設定を行うために、環境変数を活用します。
3. 起動と停止: docker-compose upやdownコマンドを使用してコンテナの管理を行います。
4. インライン設定: 環境変数を直接docker-compose.ymlファイルに埋め込むことも可能です。
5. 注意点: セキュリティと運用上の注意点を考慮に入れて、適切な設定を行うことが重要です。
関連記事: