Docker を使って、MBPの中にWordpress環境を作ってみたのでメモ。
1.フォルダ構成
wp-site
└┬─ docker-compose.yaml
├ config
│ └ php.ini # アップロード上限の設定変更
├ data # MySQLのデータ
├ wp # wordpressのコンテナ用
│ └ Dockerfile
└ wp-content #WPのテーマ等 開発するテーマファイルのソースをここに。
2.Wordpressのコンテナ用Dockerfile
FROM wordpress RUN apt-get update RUN apt-get -y install wget unzip WORKDIR /tmp/wp-plugins # ここは使いたいプラグインに合わせて。 RUN wget https://downloads.wordpress.org/plugin/custom-post-type-ui.1.6.1.zip RUN wget https://downloads.wordpress.org/plugin/smart-custom-fields.4.1.2.zip RUN wget https://downloads.wordpress.org/plugin/wp-pagenavi.2.93.zip RUN wget https://downloads.wordpress.org/plugin/wp-postviews.1.76.1.zip RUN wget https://downloads.wordpress.org/plugin/wordpress-importer.0.6.4.zip # 権限の問題なのか、一旦/usr/src/wordpress以下に展開している。 # 直接 /var/www/html/wp-content/plugins に展開しようとしたらNGだった。 RUN unzip './*.zip' -d /usr/src/wordpress/wp-content/plugins RUN apt-get clean RUN rm -rf /tmp/* RUN chown -R www-data:www-data /usr/src/wordpress/wp-content WORKDIR /var/www/html
ただ、ここまでDockerfileに記載しても、あとで/var/www/html/wp-contentの所有者は変更しないとダメだった。
3.docker-compose.yaml
version: '3' services: wordpress: build: ./wp container_name: some-wp restart: always ports: - 8081:80 environment: WORDPRESS_DB_PASSWORD: my-secret-pw volumes: - ./wp-content/themes:/var/www/html/wp-content/themes - ./config/php.ini:/usr/local/etc/php/conf.d/php.ini mysql: image: mysql:5.7 container_name: some-db restart: always environment: MYSQL_ROOT_PASSWORD: my-secret-pw volumes: - ./data:/var/lib/mysql
あとは、docker-composeのコマンドで、ビルドして起動すればOK。
$ docker-compose build $ docker-compose up -d