LoginSignup
5
9

More than 3 years have passed since last update.

DockerでWordpress環境を作る(2018/07/21最新バージョン対応)

Last updated at Posted at 2018-07-21
  • Wordpress公式のDockerイメージを元にWordpress環境を作ろうとしたら、思った以上に色々引っかかったのでメモを残しておきます。
  • docker-composeを使って、wordpressコンテナとMySQLコンテナを連携するよくあるパターンを使います。

コマンドラインだけで立ち上げる場合

docker-composeを使う場合

使ったdocker-compose.yml

  • 上のポイントが要なのですが、とりあえず成功した例です。
version: '3'
services:
  wordpress:
    hostname: wp
    container_name: wp
    image: wordpress:4.9.7-apache
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db # これを下のDBのホスト名と一致させること!!
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: password
  db: # これを上のWORDPRESS_DB_HOSTと一致させること!
    hostname: wp_db
    container_name: wp_db
    image: mysql:5.7 # バージョンに注意!
    volumes:
      - wp_db_cache57:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: password
volumes:
  wp_db_cache57:
    external: true

ポイント

コンテナのバージョンを意図的に指定する。

  • 特にMySQLのバージョンを5.7にすること
  • 現在(2018/07/21)では、mysql:latestはバージョンが5.8になっているので、latestでやってしまうと、コンテナが立ち上がりこそすれ、wordpressの画面がいつまでたっても出てこないので注意
  • ちなみにwordpress:4.9.7-apacheは現状に置けるwordpress:latestと同義です。

特定の環境変数を指定する。

  • 特に大事なのは以下の三つ。
環境変数 役割
WORDPRESS_DB_HOST 連携するDBのホスト名を入れる。DBのホスト名と同じにすること!(なお、デフォルトではmysqlという値が入っているため、ホスト名をmysqlにするのもあり)
WORDPRESS_DB_USER wordpressのDBの所有者名。MYSQL_USERと一致させること
WORDPRESS_DB_PASSWORD ↑のパスワード。MYSQL_PASSWORDと一致させること

まとめ

  • とりあえず上のポイントを守ってcomposeすれば立ち上がります!
5
9
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
5
9