ワードプレスの環境をDockerで作る

ワードプレスプラグインを試しに作ってみようと思って本番環境でやっていたんだけど、普通に本番環境止まったりするのでこれはまずい。なので、ローカルでワードプレス入れて開発しようと思う。

どうやって環境構築しようかなーと思ったけど、やっぱりDockerかな。楽だし、すぐに環境壊せるし。

docker-compose.yml作成

適当にフォルダ作って、docker-compose.ymlを作成。

wordpress_local
└── docker-compose.yml

docker-compose.ymlを記述。

version: '2'
services:
  db:
    image: mysql:5.7
    # ./.data/db(ホストOS)にデータが保持される
    volumes:
      - "./db:/var/lib/mysql"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    image: wordpress:latest
    volumes:
        - "./wp-content:/var/www/html/wp-content"
    depends_on:
      - db
    links:
      - db
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

$ docker-compose up -d

localhost:8000にアクセス。あとは言語設定したりパスワード決めたりすればOK。

f:id:utr066:20180502174513p:plain

f:id:utr066:20180502174504p:plain

f:id:utr066:20180502174556p:plain

ワードプレス出ますね。

プラグインを入れられるようにする

今のままだとプラグインを入れようとしても以下のようにエラーが出るので、フォルダを作ります。

インストールに失敗しました: ディレクトリを作成できませんでした。

wordpressのコンテナに入って、pluginsディレクトリを作成。

$ docker exec -ti wordpressのコンテナID bash
$ mkdir plugins

これでインストールできる。

自作のプラグインを入れる

もうあとはプラグインのフォルダを作って色々いじれば作れるはず。pluginsディレクトリに適当なフォルダを作成してファイル作ればいける。