DockerでWordPressを手軽に動かす
										WordPressを自分のPC上で動かします。Dockerを使えば簡単に起動できますので、手順を簡単に記載します。(Dockerはインストールしてある前提です)
docker-compose.ymlファイルの作成
下記の内容で任意のフォルダ内に、docker-compose.ymlを作成します。dockerHubの内容を参考にしています。
version: '3.1'
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress_data:/var/www/html
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db_data:/var/lib/mysql
volumes:
  wordpress_data:
  db_data:
※下記のエラーに該当する場合、docker-compose.ymlを修正します。
! db The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
対応するDockerイメージが存在しないことを示しているエラーです。
特に古いバージョンのイメージ(例えば mysql:5.7)は、ARM64アーキテクチャでのサポートがない可能性があります。そのためmysql8.0を指定します。
version: '3.1'
services:
  wordpress:
    image: wordpress:latest
    platform: linux/arm64/v8
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - ./wordpress_data:/var/www/html
  db:
    image: mysql:8.0
    platform: linux/arm64/v8
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./db_data:/var/lib/mysql
volumes:
  wordpress_data:
  db_data:
コンテナの起動
% docker-compose up -d
...
...
[+] Running 5/5
 ✔ Network wordpress_default          Created            1.7s 
 ✔ Volume "wordpress_wordpress_data"  Created   0.1s 
 ✔ Volume "wordpress_db_data"         Created         0.1s 
 ✔ Container wordpress-wordpress-1    Started        26.2s 
 ✔ Container wordpress-db-1           Started
ブラウザで確認する
http://localhost:8080/にアクセスします。

ここから各種設定に進み、利用開始できます。
テーマをアップロードできないので修正
テーマをアップロードするときに下記のエラーが出ていました。
POST Content-Length of 15575284 bytes exceeds the limit of 8388608 bytes in Unknown
このエラーメッセージは、POSTリクエストのContent-LengthがPHPの設定で許可されている最大値を超えていることを示しています。
この場合、アップロードしようとしているWordPressのテーマのサイズが、PHPの設定で許可されている最大POSTサイズを超えているようです。
この問題を解決するには、php.ini ファイルの post_max_size の値を増やす必要があります。
php.iniの作成
例として64Mを指定しました。
post_max_size = 64M
upload_max_filesize = 64M
docker-compose.ymlを修正
php.iniの記述を追加します。
...
...
  services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress_data:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/uploads.ini
...
...
上記修正後、コンテナを再起動します。

