Word Pressの環境を構築
docker-compose.ymlのファイルを作成する
$ vi docker-compose.yml
ここの記事を参考にしました。
version: '3.8'
services:
db:
image: linuxserver/mariadb:latest
volumes:
- db_data:/var/lib/mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: test_user
MYSQL_PASSWORD: user_password
wordpress:
depends_on:
- db
image: arm32v7/wordpress:latest
volumes:
- html:/var/www/html
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: test_user
WORDPRESS_DB_PASSWORD: user_password
volumes:
db_data:
html:
docker-compose.yml自体の説明は以下がわかりやすいです。
Dockerを起動
wordpressとmariadbのコンテナを一括で起動するので、docker-compose up -d
を実行する。
$ docker-compose up -d
Creating network "pi_default" with the default driver
Creating volume "pi_db_data" with default driver
Creating volume "pi_html" with default driver
Pulling db (linuxserver/mariadb:latest)...
latest: Pulling from linuxserver/mariadb
8e4d3a410415: Pull complete
0b8e3216ed49: Pull complete
f0d9239a426a: Pull complete
a7dbc35a3425: Pull complete
181f267e48ff: Pull complete
245cfb9749ea: Pull complete
0a6af3386e57: Pull complete
705eca2a4dbf: Pull complete
Digest: sha256:3d8d28744161dcc8bc7b583a65de92e05f8be1223a32d8714cf8bdea8965caf6
Status: Downloaded newer image for linuxserver/mariadb:latest
Pulling wordpress (arm32v7/wordpress:latest)...
latest: Pulling from arm32v7/wordpress
b6e5ca4da968: Pull complete
ee38362a3159: Pull complete
585c04fe561e: Pull complete
097d5ecc5406: Pull complete
567a3462d460: Pull complete
3e870e68d221: Pull complete
ae437a68bd98: Pull complete
346bb83bcd1a: Pull complete
fec5c18f0bce: Pull complete
4e254f3d73d8: Pull complete
005e965878be: Pull complete
b4ee84b57df1: Pull complete
965136d19ea8: Pull complete
660e2781b258: Pull complete
4bd297cf02c7: Pull complete
70024947d845: Pull complete
04e1794275a8: Pull complete
c0fc62ade7a2: Pull complete
b651cf80e99b: Pull complete
a451e88b6e24: Pull complete
bdfe7ef2584f: Pull complete
Digest: sha256:b3265bcf9d75c8c4a46ccc4f412eff67e5c1b00f8ec1858b5b4e00a6e998c3da
Status: Downloaded newer image for arm32v7/wordpress:latest
Creating pi_db_1 ... done
Creating pi_wordpress_1 ... done
コンテナの確認
すでに起動しているので、docker container ls
とdocker container ps
の内容は同じ。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c6f73138a55 arm32v7/wordpress:latest "docker-entrypoint.s…" 10 hours ago Up 26 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp pi_wordpress_1
1706ca9ed5bd linuxserver/mariadb:latest "/init" 10 hours ago Up 10 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp pi_db_1
$ docker container ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c6f73138a55 arm32v7/wordpress:latest "docker-entrypoint.s…" 10 hours ago Up 27 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp pi_wordpress_1
1706ca9ed5bd linuxserver/mariadb:latest "/init" 10 hours ago Up 10 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp pi_db_1
WordPressにアクセスしてみる。
今回は、家のネットワークの中で、IPアドレス192.168.10.10のラズパイにインストールしたので、以下のURIでWordPressにアクセスしました。
http://192.168.10.10:8080/wp-admin/install.php
まず言語を聞かれたので日本を選択しました。
サイトのタイトルやユーザ名など諸々の初期設定をします。
初期設定が完了すると、以下の画面が表示されます。
: |
---|
ログイン画面に遷移して、ログインします。
テーマのアップロードでエラーになる
テーマをアップロードしようしたら、ファイルサイズが大きすぎてアップロードできないとエラーなったので、
コンテナの中に入ってphp.iniを確認してみる。
$ docker-compose exec wordpress bash
root@5c6f73138a55:/var/www/html# cd /usr/local/etc/php
root@5c6f73138a55:/usr/local/etc/php# ls
conf.d php.ini-development php.ini-production
root@5c6f73138a55:/usr/local/etc/php#
exit
php.iniがなく、開発用と製品用のphp.iniのテンプレートが用意されていたので、開発用の方を使ってみることにする。
コンテナ内ではviがないので、ホストの方へファイルをコピーして編集後、名前をphp.iniに変更してコンテナ内へ置きにいきます。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c6f73138a55 arm32v7/wordpress:latest "docker-entrypoint.s…" 10 hours ago Up 9 hours 0.0.0.0:8080->80/tcp, :::8080->80/tcp pi_wordpress_1
1706ca9ed5bd linuxserver/mariadb:latest "/init" 10 hours ago Up 9 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp pi_db_1
$ docker container cp 5c6f73138a55:/usr/local/etc/php/php.ini-development ~/.
$ cp php.ini-development php.ini
$ vi php.ini
$ docker container cp ~/php.ini 5c6f73138a55:/usr/local/etc/php/
php.iniの中身は、以下の値を変更しました。アップロードの最大サイズを2Mから10M、ポストの最大サイズを8Mから12Mに変更しました。
(省略)
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 10M
(省略)
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 12M
(省略)
書き換え後にコンテナの再起動をしました。
$ docker restart 5c6f73138a55
5c6f73138a55
ちなみに、今回使ってみようとしたテーマは、これです。