0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Docker】WordPress をローカル環境に構築する

0
Posted at

はじめに

この記事では、Docker と Docker Compose を利用して WordPress をローカル環境で構築する手順を記載します。

開発環境

開発環境は以下の通りです。

  • Windows11
  • Docker Desktop 4.36.0
  • WordPress 6.9.0
  • MySQL 9.5.0
  • PHP 8.3

プロジェクト作成

まず、プロジェクト用のディレクトリを作成します。

mkdir wordpress-local
cd wordpress-local

次に、Docker Composeの設定ファイル compose.yaml を作成します。

compose.yaml
services:
  db:
    image: mysql:9.5 # MySQL 9.5の公式イメージを使用
    container_name: wordpress-db # コンテナ名を指定
    restart: always # コンテナが停止した場合に自動再起動
    environment: # 環境変数の設定
      MYSQL_ROOT_PASSWORD: rootpassword # rootユーザーのパスワード
      MYSQL_DATABASE: wordpress # 作成するデータベース名
      MYSQL_USER: wordpress # 作成するユーザー名
      MYSQL_PASSWORD: wordpress # ユーザーのパスワード
    volumes:
      - db_data:/var/lib/mysql # データベースデータの永続化
    ports:
      - "3306:3306" # ホストとコンテナのポートマッピング

  wordpress:
    image: wordpress:6.9-php8.3-apache # WordPress 6.9 with PHP 8.3
    container_name: wordpress-app
    restart: always
    depends_on:
      - db # dbサービスが起動してから起動
    ports:
      - "8080:80" # ホストの8080ポートをコンテナの80ポートにマッピング
    environment:
      WORDPRESS_DB_HOST: db:3306 # データベースホスト
      WORDPRESS_DB_USER: wordpress # データベースユーザー
      WORDPRESS_DB_PASSWORD: wordpress # データベースパスワード
      WORDPRESS_DB_NAME: wordpress # データベース名
    volumes:
      - wordpress_data:/var/www/html # WordPressファイルの永続化

volumes:
  db_data: # データベース用の名前付きボリューム
  wordpress_data: # WordPress用の名前付きボリューム

この設定ファイルでは、MySQLとWordPressの2つのサービスを定義しています。データの永続化のために、名前付きボリュームを使用しています。

以下のコマンドでコンテナを起動します。

docker compose up -d

コンテナが正常に起動したことを確認します。

docker compose ps
NAME            IMAGE                         COMMAND                   SERVICE     CREATED              STATUS              PORTS
wordpress-app   wordpress:6.9-php8.3-apache   "docker-entrypoint.s…"   wordpress   About a minute ago   Up About a minute   0.0.0.0:8080->80/tcp, [::]:8080->80/tcp
wordpress-db    mysql:9.5                     "docker-entrypoint.s…"   db          About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp

ブラウザで http://localhost:8080 にアクセスすると、WordPressの初期設定画面が表示されます。

image.png

参考

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?