Dockerを使ってwordpressのローカル環境の構築

wordpressの開発環境の構築をDockerを使って行うと構築、破棄、再構築が簡単に行なえます。

まずは作業ディレクトリを作成しそこにdocker-compose.ymlファイルを作成します。

mkdir wordpress
cd wordpress

vi docker-compose.yml

docker-compose.yml

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root_pass
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wp_user
       MYSQL_PASSWORD: wp_pass

   wordpress:
     depends_on:
       - db
     image:wordpress:latest
     ports:
       - "80:80"
     volumes:
      - ./wp-content:/var/www/html/wp-content

     restart: always
     environment:
       WORDPRESS_DB_HOST: db 
       WORDPRESS_DB_USER: wp_user # MYSQL_USERと同じ
       WORDPRESS_DB_PASSWORD: wp_pass # MYSQL_PASSWORDと同じ
       WORDPRESS_DB_NAME: wordpress # MYSQL_DATABASEと同じ
volumes:
    db_data: {}

書き方などはDocker Composeについてを参考ください。

起動します。

$ docker-compose up -d
wordpress_db_1 is up-to-date
Recreating wordpress_wordpress_1 ... done

$ docker-compose ps
        Name                       Command               State          Ports
------------------------------------------------------------------------------------
wordpress_db_1          docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp
wordpress_wordpress_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:80->80/tcp

http://localhost:80にアクセスしてみるとwordpressの設定画面が出てきます。


初期情報を設定したら完了です!

コンテナを削除したいとき

$ docker-compose down

Stopping wordpress_wordpress_1 ... done
Stopping wordpress_db_1        ... done

コンテナを削除してもデータベースの情報は残るので、データベース情報も削除したい時は

docker-compose down --volumes