2
3

Wordpressをローカル環境でDockerを使って一瞬で動かす備忘録

Last updated at Posted at 2024-09-04

普段Wodpress関連をローカルで開発するときには、WSL2環境でApacheを使って行っています。
しかし、訳あってdockerで動かす必要があったのでその時の備忘録です。

正直、難しいんだろうな・・・
呪文の書(dcoker-compose.yml)かけるかな・・・
と不安だったのですが、 一瞬でした。
docker-compose.ymlの書き方は後で覚える!今は開発環境作るのが先やで!という方はコピペ爆速でいけるはずです。
是非どうぞ!

環境

  • WSL2
  • Docker Desktop for Windows
  • Wordpress最新
  • MySQL

爆速を求めてるあなたに

何も気にせず次の通りにしてください。

  1. Dockerを起動(私はDocker Desktop for Windowsを使ってます)
  2. プロジェクトを置きたいディレクトリにdcoker-compose.ymlファイルを作成
  3. docker-compose.ymlに以下をコピペ
    docker-compose.yml
    version: '3'
    
    services:
      wordpress:
        image: wordpress:latest
        ports:
          - "8080:80"
        environment:
          WORDPRESS_DB_HOST: db
          WORDPRESS_DB_USER: wordpressuser
          WORDPRESS_DB_PASSWORD: wordpassword
          WORDPRESS_DB_NAME: wordpress
        volumes:
          - ./wordpress:/var/www/html
        depends_on:
          - db
        networks:
          - wordpress-network
    
      db:
        image: mysql:5.7
        environment:
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpressuser
          MYSQL_PASSWORD: wordpassword
          MYSQL_RANDOM_ROOT_PASSWORD: '1'
        volumes:
          - wordpress_db_data:/var/lib/mysql
        networks:
          - wordpress-network
    
    volumes:
      wordpress_files:
        name: wordpress_files
      wordpress_db_data:
        name: wordpress_db_data
    
    networks:
      wordpress-network:
        driver: bridge
      my-app-network:
        external: true
    
  4. docker-compose up -dを実行
  5. http:localhost:8080を開く
  6. おしまい。

docker-compose.ymlの中身について

今回は、WordpressとMySQLの環境を作るために呪文を書いています。
大きなポイントとしては2つです。

docker-compose.ymlの詳しいことに関してはいつか記事を書きます・・・多分。

Wordpressの設定について

imageという箇所にimage: wordpress:latestというのがあります。
これはwordpressの公式の最新のDockerイメージを使うよという意味になります。
これが優れもので爆速が実現しています。
たとえば、ローカルで開発を行う時に

  • Apache(webサーバー)
  • PHP
  • MySQL(データベース)
    というようなLAMPの環境を用意することがよくあると思います。
    しかし、このイメージはこれらがもうすでに入っているんですね!
    もう頭が上がらないです、超便利。
    wordpressを動かすのに必要なものが最初からパッケージになっている感じなので、これ一つで解決しています。

post max size、upload max size、memory limitの設定を変えたい時

普段は.htaccessを変えたりすると思いますが、これも簡単にできちゃいます。

  1. docker-compose.ymlと同じ階層にphp.iniを作成し次の内容を記述

    php.ini
    upload_max_filesize = 1G
    post_max_size = 1G
    memory_limit = 1G
    max_execution_time = 300
    max_input_time = 300
    
  2. docker-compose.ymlの設定をvolumesに追加する

    docker-compose.yml
        volumes:
      - ./wordpress:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/custom.ini
    
  3. コンテナを再起動する

    docker-compose down
    docker-compose up -d
    
  4. 設定がきちんとされているか次のコマンドで確認できる

    docker-compose exec wordpress php -i | grep -E "upload_max_filesize|post_max_size|memory_limit"
    

これだけでいけます!
テーマのインポートなどでリミットを上げることはよくあると思うので、結構大事ですね

終わりに

今回は爆速でDockerでWordpressを動かすというのをやってみました。
docker-compose.yml側にちょっとした工夫(wordpressをローカルに設置する)などもあるので、このファイルの説明はまた別記事で書こうと思います!

2
3
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
2
3