Docker_MySQL_WordPress

コンテナ2つでWordPressの環境構築をする
■WordPressコンテナ
・WordPress本体
・Apache
・PHPの実行環境

■MySQLコンテナ

必要なコマンド
コンテナ同士をつなぐネットワーク作成
データベースの設定とコンテナ

ネットワーク作成

docker network create ネットワーク名

ネットワーク確認

docker network ls

Mysqlのコンテナ

docker run --name コンテナ名 -dit --net=ネットワーク名 \
-e MYSQL_ROOT_PASSWORD=MySQLのrootパスワード \
-e MYSQL_DATABASE=データベース名 \
-e MYSQL_USER=MYSQLのユーザー名 \
-e MYSQL_PASSWORD=MySQLのパスワード \
mysql \
--character-set-server=文字コード \
--collation-server=照合順序 \
--default-authentication-plugin=認証方式

WordPressコンテナ

docker run --name コンテナ名 -dit --net=ネットワーク名 \
-p ポートの設定 \
-e WORDPRESS_DB_HOST=データベースのコンテナ名 \
-e WORDPRESS_DB_NAME=データベース名 \
-e WORDPRESS_DB_USER=データベースのユーザー名 \
-e WORDPRESS_DB_PASSWORD=データベースのパスワード \
wordpress

下記の値は合わせておく必要がある

network mysql wordpress
--name
WORDPRESS_DB_HOST
network
--net
--net
MYSQL_DATABASE WORDPRESS_DB_NAME
MYSQL_USER WORDPRESS_DB_USER
MYSQL_PASSWORD WORDPRESS_DB_PASSWORD

DB接続

docker exec -it ホスト名(MySQLコンテナ名) mysql -u root -p

※認証方式
MySQL5からMySQL8に変わる時、外部のソフトウェアからMySQLへ接続する認証方式が変更された。
よって新認証方式に対応しているソフトウェアが少ない。そのため認証方式を古いものに変更する必要がある。
それか古いバージョンのMySQL5などを使用するというこで対応も可能。
WordPressやphpMyAdminなども新認証方式に対応していない。
バージョン指定方法は「mysql:8.1」などにする。
小数点がない場合は「mysql:8」MySQL8の最新バージョンを取得する

今回実行したのは下記の3つのコマンド

docker network create wordpress000net1
docker run --name mysql000ex11 -dit --net=wordpress000net1 \
-e MYSQL_ROOT_PASSWORD=myrootpass \
-e MYSQL_DATABASE=wordpress000db \
-e MYSQL_USER=wordpress000kun \
-e MYSQL_PASSWORD=wkunpass \
mysql \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--default-authentication-plugin=mysql_native_password
docker run --name wordpress000ex12 -dit --net=wordpress000net1 \
-p 8085:80 \
-e WORDPRESS_DB_HOST=mysql000ex11 \
-e WORDPRESS_DB_NAME=wordpress000db \
-e WORDPRESS_DB_USER=wordpress000kun \
-e WORDPRESS_DB_PASSWORD=wkunpass \
wordpress

ブラウザでアクセスして表示がでればOK
http://localhost:8085/

Author: gaa

コメントを残す

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