17
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker ComposeでWordPressのテーマ開発環境を一瞬で作成する

Last updated at Posted at 2021-04-25

きっかけ

WordPressでテーマ開発をする際、
用意された環境が本番環境しかないときがあります。
そんなとき、Dockerでローカル環境のWordPress検証環境をすぐに作れるようにしたく、
用意することにしました。

環境

  • Mac、WindowsどちらでもOK
  • DockerDocker Compose両方をインストール済

ディレクトリ構成

WordPressのローカル検証環境を立ち上げられば良いので、シンプルな構成にします。
まずはプロジェクト用の適当なフォルダを用意します。
(ここではwordpress-dockerという名前にしました。)

 wordpress-docker/
  └─docker-compose.yml

開発用の空テーマをダウンロード

開発用の空テーマを用意します。
underscores.me というサイトから空テーマを取得することができます。
今回は、original-theme という名前のテーマを作成したいので、
original-themeと入力してダウンロードします。
original.PNG
このフォルダはWordPressコンテナのwp-content/themesにマウントしたいので、
ダウンロードしたら、wordpress-dockerディレクトリに配置します。

 wordpress-docker/
  ├─original-theme/
  │  ├─inc
  │  ├─js
  │  ├─languages
  │  ├─...
  │  
  └─docker-compose.yml

docker-compose.yml作成

wordpress-docker ディレクトリ配下に、docker-compose.ymlを作成します。

docker-compose.yml
version: '3'

services:
  db:
    image: mysql:5.7
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: rootwordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    volumes:
      - db-data:/var/lib/mysql


  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8001:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./original-theme:/var/www/html/wp-content/themes/original-theme

  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    ports:
      - "8081:80"

volumes:
  db-data: {}

Docker起動

Docker Composeを使って立ち上げます。

$ docker-compose up -d

アクセスする

WordPressコンテナはポート8001で動かしているので、
http://localhost:8001にアクセスします。
WordPressのインストール画面が表示されれば成功です。
wordpress.PNG
あとは、手順に沿えばWordPressのインストールは完了です。

phpMyAdminのコンテナもポート8081で追加しているので、
データベースにはhttp://localhost:8081でアクセスできます。

作成した空テンプレートを有効化する

先ほど作成した空テーマ original-theme を有効化します。
test.PNG
これでローカル環境でテーマ開発がいくらでもできますね!
また wordpress-docker ディレクトリをGitで管理するようにしてしまえば、
複数人で開発するときにも便利です。

17
21
2

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
17
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?