MENU
👇しうが厳選・おすすめのブログ!
しう
【テニス好きブロガー】 
テニス、読書が好きです。IT企業で学んだこともブログに書いています。高校教諭(テニス部顧問)→IT企業。テニス歴12年。人生をより有意義なものにしたいと思い、ブログを書き始めました。Twitterもしています。
アーカイブ

DockerでwordpressとMySQLの環境構築【初心者向け】

Docker wordpress MySQL

現在働いている開発現場でDockerを使った環境を利用しているため、Dockerについて勉強したことの備忘録を残しておきます。初めてDockerについて学習するうえで、wordpressとMySQLの環境構築がわかりやすかったので、その方法をまとめておきます。

 

初めてDockerの勉強をする場合は、「仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん 」という本がとてもわかりやすかったのでオススメです。この記事でDockerについて触れたけど物足りない・体系的にしっかりと勉強したいという人は購入してみてください。

 

また、本よりも動画を見てハンズオン(実際に手を動かしながら)で学びたい人はUdemyがオススメです。UdemyにはDockerに関する動画もあるので、オススメの動画を紹介しておきます。

 

記事の信頼性: 受託系IT企業で働いている「しう」がDockerについて学んだことの備忘録として記事を書いています。

目次

Dockerの事前準備

DockerでwordpressとMySQLの環境構築をしていくので、Dockerのインストールが必要になります。まだできていない人はDockerのインストールをしてみてください。Dockerのインストール方法も後日記事にしていく予定です。

Dockerでwordpressを構築する流れ

Docker wordpress MySQL

Dockerでwordpressを構築する流れについてご紹介します!wordpressを構築する場合は次の流れでおこないます。

  • Dockerでネットワークを作成する
  • DockerでMySQLコンテナを作成する
  • Dockerでwordpressコンテナを作成する
  • ブラウザからwordpressにアクセスする
  • 環境を元に戻す

 

この時に作成する順番も大切になるので気を付けましょう。もし上手くできなくてもDockerはコンテナを削除して、再度作成することのできるツールなので安心してください。(むしろコンテナを作って、不要になったり間違えた場合はコンテナを捨てることがDockerの基本的な使い方になります)

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

初めにDockerでネットワークを作成します!

 

【ネットワークのコンテナを作成・起動するコマンド】
docker network create ネットワーク名

network createコマンドでネットワークの作成をしていきましょう。ネットワークが作成されたか確認したい場合は、「network ls」コマンドを利用することで確認できます。今回はwindowsの例を紹介していますが、他のOSでも同様にできるかと思います。

 

windowsで実行するコマンド

docker network create wordpress000net1

 

windowsの実行結果

0ca3450be8e3e2ed6710c5b88b5dcb30f41e3b6d62b968050080484fd46ef19e

 

ネットワークの確認方法

docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
1bee88ffcf1a   bridge             bridge    local
53b6093a3173   host               host      local
d28152158e8e   none               null      local
0ca3450be8e3   wordpress000net1   bridge    local

 

今回は、ネットワーク名をwordpress000netとしていますが、好きな名前で構いません。ネットワーク名を変えた場合は以降の流れで出てくるネットワーク名も同じ名前を使ってください。

DockerでMySQLコンテナを作成する

2番目にDockerでMySQLコンテナを作成します!

 

【MySQLのコンテナを作成・起動するコマンド】
docker run –name mysqlのコンテナ名 -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=認証方式

 

「run」コマンドを実行してMySQLコンテナの作成・起動をおこないましょう。実行後にコンテナの作成ができているか確認したい場合は、「docker ps」コマンドを利用してください。

 

windowsで実行するコマンド

docker run --name mysql000 ^
-dit --net=wordpress000net1 ^
-e MYSQL_ROOT_PASSWORD=myrootpass ^
-e MYSQL_DATABASE=wordpress000db ^
-e MYSQL_USER=wordpress000user ^
-e MYSQL_PASSWORD=wordpresspass mysql:5.7 ^
--character-set-server=utf8mb4 ^
--collation-server=utf8mb4_unicode_ci ^
--default-authentication-plugin=mysql_native_password

 

windowsの実行結果

Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
f003217c5aae: Pull complete
65d94f01a09f: Pull complete
43d78aaa6078: Pull complete
a0f91ffbdf69: Pull complete
59ee9e07e12f: Pull complete
・・・(以下省略)

 

MySQLコンテナの確認方法

docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED              STATUS              PORTS                 NAMES
cb628f8f0d8b   mysql     "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp, 33060/tcp   mysql000

 

※注意
一度dockerを止めるとstopの状態になります。「docker start」のコマンドでコンテナを起動させる必要がある点に注意が必要です。

Dockerでwordpressコンテナを作成する

3番目にDockerでwordpressコンテナを作成します!

 

【wordpressのコンテナを作成・起動するコマンド】
docker run –name wordpressのコンテナ名 -dit –net=ネットワーク名 -p ポートの設定
-e WORDPRESS_DB_HOST=データベースのコンテナ名
-e WORDPRESS_DB_NAME=データベース領域名
-e WORDPRESS_DB_USER=データベースのユーザー名
-e WORDPRESS_DB_PASSWORD=データベースのパスワード wordpress

 

「run」コマンドを実行してwordpressコンテナの作成・起動をおこないましょう。今回も実行後にコンテナの作成ができているか確認したい場合は、「docker ps」コマンドを利用してください。

windowsで実行するコマンド

docker run --name wordpress000 ^
-dit --net=wordpress000net1 -p 8080:80 ^
-e WORDPRESS_DB_HOST=mysql000 ^
-e WORDPRESS_DB_NAME=wordpress000db ^
-e WORDPRESS_DB_USER=wordpress000user ^
-e WORDPRESS_DB_PASSWORD=wordpresspass wordpress:5.5

 

windowsの実行結果

Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
c229119241af: Already exists
47e86af584f1: Pull complete
e1bd55b3ae5f: Pull complete
1f3a70af964a: Pull complete
0f5086159710: Pull complete
・・・(以下省略)

 

wordpressコンテナの確認方法

docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED              STATUS              PORTS                  NAMES
863f152f74c2   wordpress   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:8080->80/tcp   wordpress000
c34560fbb558   mysql       "docker-entrypoint.s…"   3 minutes ago        Up 3 minutes        3306/tcp, 33060/tcp    mysql000

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

環境を作成できたら、実際にアクセスできるか確認しましょう!

 

今回、wordpressのコンテナを作成するときにポート番号を8080で設定したので、その番号を使ってURLを指定してください。もし8085(自分で決めた数字)など他の数字を使っている場合は、その数字を使う必要があります。

ブラウザに入力するURLは「http://localhost:8080/」になります。httpsのようにhttpの後にsをつけるとエラーになるので気を付けてください。実際に上手くできていると次のような画面になります。

 

👇クリックで拡大できます

 

逆に上手くいかない場合は「Error establishing a database connection」というエラーが出てきます。

 

この場合は、スペルミスや利用しているバージョンの使用が変わっている可能性があるので注意してください。

※2022年4月時点では、MySQL:5.7、 wordpress:5.5 のバージョンでは上手く動いてくれています。

環境を元に戻す

最後に、全ての手順で動かせることを確認出来たら後片付けもしておきましょう!

 

次のコマンドでコンテナの停止・削除ができます。wordpressとMySQLについてはコンテナを停止した後でないと、コンテナの削除はできない(エラーになる)ので気を付けてください。

【コンテナの停止】
docker stop wordpress000
docker stop mysql000

【コンテナの削除】
docker rm wordpress000
docker rm mysql000

【ネットワークのコンテナの削除】
docker network rm wordpress000net1

 

コンテナのイメージも削除しておきたい場合は次のコマンドを使っておきましょう。

【コンテナのイメージの削除】
docker image rm wordpress
docker image rm mysql

Docker-compose.ymlファイルを使った方法

Docker wordpress MySQL

docker-compose.ymlファイルを利用した方法については学習中です。

現在働いている開発現場でもdocker-compose.ymlファイルを利用した方法を活用しているので、今後Dockerでdocker-compose.ymlファイルを利用したwordpressとMySQLの環境構築について勉強した内容をブログに残していこうと思います。

まとめ

いかがでしたか?今回は、DockerでのwordpressとMySQLの環境構築の方法について以下の順番で紹介しました。

  • Dockerの事前準備
  • Dockerでwordpressを構築する流れ
  • Docker-compose.ymlファイルを使った方法

 

Dockerは開発環境を隔離することで、影響を与える範囲を限定出来たりとても便利です。実際に開発現場に入った時にDockerが使われていることもあるでしょう。

今回、DockerでのwordpressとMySQLのローカル環境での環境構築の方法について説明しました。この流れを通じて少しでもDockerについて親しみを抱いてもらうことができれば嬉しいです。

 

☟あわせて読みたい 「しう」のオススメブログ

プログラミング(Java・Kotlin)のお...
【未経験者も大丈夫】オススメの転職サイト【プログラマー向け】 | プログラミング(Java・Kotlin)のお悩み... プログラマー向けの転職サイトでどのサイトを選べばいいか悩むことはありませんか?「しう」も転職活動時にどのサイトを利用しようか悩みました。そこで、今回はプログラマ...
あわせて読みたい
プログラミング練習問題集【Java】 まとめ プログラミング(Java)の勉強をしていると、コーディングの練習もしたくなりますよね。   実際に自分で決めた動きをプログラミングで再現できると、技術力が向上しま...
あわせて読みたい
【独学だけで厳しいと感じたら】無料のプログラミングスクール3選 「しう」はプログラミングの勉強を独学で始めました。 最初はなかなか難しく感じ、配列の利用方法を完ぺきに身につけることさえ、時間がかかりました。   大学のテニス...

参考文献

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

初心者|Docker-ComposeでWordPressとMySQLとphpMyAdminのローカル環境の構築

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

【しう】
Java Engineer| 最近はKotlin| 「テニスとJava(プログラミング)のお悩み解決ラボ」運営者| プログラミング・開発現場の学びを主に発信|【経歴】受託系IT企業➪自社開発企業| ∮保有資格∮ : Java Silver,Oracle SQL Silver,基本情報,TOEIC 750,簿記3級

コメント

コメントする

CAPTCHA


目次