【DockerでWordPress構築②】コンテナ同士を連携させてWordPressを起動する

Docker

今回は、Dockerのコンテナ同士をつなげてWordPressを起動する方法をみていきます。

WordPress構築に必要なもの

WordPressを起動するために必要なものは、以下の4つになります。
①Apache(Webサーバー)
②PHPの実行環境
③WordPress本体
④MySQL(データベース)



このうち、WordPress公式のイメージを使用すれば、①②③を含んでいるため、
・WordPressコンテナ
・MySQLコンテナ


の2つを連携させればWordPressが使用できるようになります。

ネットワークの作成

コンテナ同士をつなげるには、仮想的なネットワークを作り、そこにコンテナを配置します。

まずネットワークを作成するには以下のコマンドを使います。

docker network create ネットワーク名


今回は以下のコマンドを実行します。

docker network create wp_net



これで、wp_net という名前のネットワークが作成できました。

MySQLコンテナの起動

次にMySQLコンテナを起動するための記述方法を紹介します。

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


今回は以下のような設定にしました。

docker run --name mysql_container -dit --net=wp_net -e MYSQL_ROOT_PASSWORD=rootpass -e MYSQL_DATABASE=wp_db -e MYSQL_USER=wp_user -e MYSQL_PASSWORD=userpass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password


まず、「–net」オプションで先ほど作ったネットワークを指定しています。

そして、「-e」オプションをつけて、MySQLのユーザー名やパスワード等の環境変数を設定します。

WordPressコンテナの起動

次にMySQLコンテナを起動するための記述方法を紹介します。

docker run --name コンテナ名 -dit --net=ネットワーク名 -p ポートの設定 -e wordpress_DB_HOST=データベースのコンテナ名 -e wordpress_DB_NAME=データベース名 -e wordpress_DB_USER=データベースのユーザー名 -e wordpress_DB_PASSWORD=データベースのパスワード wordpress


先ほどMySQLコンテナに設定したものと合わせながら、以下のようにしました。

docker run --name wordpress_container -dit --net=wp_net -p 8001:80 -e wordpress_DB_HOST=mysql_container -e wordpress_DB_NAME=wp_db -e wordpress_DB_USER=wp_user -e wordpress_DB_PASSWORD=userpass wordpress


「–net」オプションにはMySQLコンテナで設定したものと同じネットワークを指定することで、コンテナ同士をつなげることができます。

そして、今回ポートで指定した8001でブラウザに接続してみます。

localhost:8001



以下のような表示になっていれば成功です!




参考書



続きはこちら↓

コメント

コンタクトフォーム

    タイトルとURLをコピーしました