WordPress on Docker

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

 

 

 

 

 

 

 

タグ: # #
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA