" />
本ページはプロモーションが含まれています。

スポンサーリンク

Docker

DockerでWordPress-MySQLを構築する

DockerでWordpressを構築する手順

Step説明
1Dockerネットワークを作成する
2MySQL用コンテナを作成する
3WordPress用コンテナを作成する
4ブラウザからWordpressにアクセスする
DockerでWordpressを構築する手順

Dockerネットワークを作成する

$ docker network create wordpress1
ddd3883441974f1bd642b54048080793691a0153f728381042388c4bd0e57d5d

$ docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
1e93e3d38617   bridge             bridge    local
ddc254dca608   host               host      local
290f9a26e1e0   none               null      local
ddd388344197   wordpress1         bridge    local

MySQL用コンテナを作成する

$ docker run --name mysql1 -dit --net=wordpress1 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wpdb -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=wppass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

$ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                 NAMES
ca5a5db340b1   mysql     "docker-entrypoint.s…"   7 seconds ago   Up 4 seconds   3306/tcp, 33060/tcp   mysql1

オプション・引数の意味は次の通りです。

-e MYSQL_ROOT_PASSWORD=root
-e MYSQL_DATABASE=wpdb
-e MYSQL_USER=wpuser
-e MYSQL_PASSWORD=wppass
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
dockerでmysqlコンテナ作成時のオプション・引数

これらのオプションは覚える必要はありません。
Web上の記事を見たり、公式サイトを参照して調べながら使っていくものです

https://hub.docker.com/_/mysql

※docker run コマンドのイメージ名「mysql」を「mariadb」に変更することで、mariadbも選択できます。

WordPress用コンテナを作成する

$ docker run  --name wordpress1 -dit --net=wordpress1 -p:8085:80 -e WORDPRESS_DB_HOST=mysql1 -e WORDPRESS_DB_NAME=wpdb -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=wppass wordpress

$ docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                                   NAMES
630118e396eb   wordpress   "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   0.0.0.0:8085->80/tcp, :::8085->80/tcp   wordpress1
c54319547aa4   mysql       "docker-entrypoint.s…"   6 minutes ago   Up 6 minutes   3306/tcp, 33060/tcp                     mysql1

オプション・引数の意味は次の通りです。

-e WORDPRESS_DB_HOST=mysql1
-e WORDPRESS_DB_NAME=wpdb
-e WORDPRESS_DB_USER=wpuser
-e WORDPRESS_DB_PASSWORD=wppass
dockerでwordpressコンテナ作成時のオプション・引数

wordpressのオプション・引数についてはこちらです。
https://hub.docker.com/_/wordpress

ブラウザからWordpressにアクセスする

ここまでで準備ができています。

後は wordpress の -p:8085:80 で指定したポートへブラウザからアクセスしてみましょう。
上記の例では、http://localhost:8085/ です。

WordPressのインストール画面が表示されました。

この通り、投稿もちゃんとできます。

docker stop でmysqlとwordpressの両コンテナを停止した後、再度docker startでコンテナを起動したときも、データは残っています。

簡単で恐ろしいですね!!!

参考文献

この本で入門しました。めちゃくちゃわかりやすいです。

スポンサーリンク

-Docker