WordpressをDockerで構築する

経緯

Hugoを見つける前にブログ構築では十年以上前から使われてて、今でも現役なWordPressというツールをDocker環境上で構築したので、docker-composeを公開したいと思います。

ローカル環境用とEC2用二つのdocker-composeがあります

ローカル環境

  • MacOS Catalina ver10.15.3

[docker-compose.yml]

version: "3.5"

services:
  wordpress:
    image: wordpress:latest
    ports:
      - 9000:80
    volumes:
      - ./wordpress:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: database_password
  db:
    image: mysql:5.7
    ports:
      - 3306:3306
    volumes:
      - ./db_data:/var/lib/mysql
    environment:
        MYSQL_ROOT_PASSWORD: database_password
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wp_user
        MYSQL_PASSWORD: database_password
volumes:
  db_data:

このファイルと作成して後は

docker-compose up -d

これだけで構築できます。

AWSのEC2環境上で構築

  • Amazon Linux

本番ではhttpsにする必要があるので、私はcertfrontを使用して、https化しました、

これだけでhttps化できるから便利ですよね、もちろんセキュリティグループは解放する必要はあります。

[docker-compose.yml]

version: "3.5"
services:
  certfront:
    image: hoto17296/certfront
    ports:
      - 80:80
      - 443:443
    environment:
      DOMAIN: wordpress.2rta.com
      EMAIL: [メールアドレス]
      APP_HOST: wordpress
    volumes:
      - ./certs:/etc/letsencrypt
  wordpress:
    image: wordpress:latest
    volumes:
      - ./wordpress:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: database_password
  db:
    image: mysql:5.7
    ports:
      - 3306:3306
    volumes:
      - ./db_data:/var/lib/mysql
    environment:
        MYSQL_ROOT_PASSWORD: database_password
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wp_user
        MYSQL_PASSWORD: database_password
volumes:
  db_data: 
docker-compose up -d

ちょっとおまけ

EC2上でのDocker環境の構築方法について記載しておきます。

dokcerインストール

sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user

一回再起動

sudo docker info

docker-composeインストール

sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

まとめ

WordPress環境の構築について今回は記載しました、このブログはHugoで構築しているので、私が将来的にWordPressに移行することはあんまり考えられないですが、WordPressも素晴らしいツールだと思います、少しでも参考になると幸いです。

Nakano
Nakano
Back-end engineer

AWS,Rails,UE4,vue.js,hugo,その他なんでもやりたい