MacにDockerでWordpress環境を構築する

記事
IT・テクノロジー

Wordpressとは

WordpressとはPHPというプログラミング言語で作られていて, いわゆるCMS(コンテンツ・マネジメント・システム)の一種でブログやWebサイトを爆速で作ることができるツールです。

実はエンジニア歴6年が経とうとしているに実際に使ったことがなく,
今アフィリエイトを始めてみようというときにとりあえずの環境が欲しくて今回導入を決めました

ローカルにそのまま環境構築してもいいのだが, AWSなどのサーバーにアップする予定だし, 使わなくなったら綺麗にしたいしでDockerで構築することにした

本題に入る前に


仮に本記事を見て, 疑問点や詰まったりなどした場合は以下のサービスにてご相談に乗りますのでお気軽にお問い合わせくださいませ^
2000円と記載ございますが, お見積もり時に内容確認できましたら500円~承ります

dockerの環境がそもそもないよって方は以下の記事をご覧いただければと思います


WordpressのDocker image

そもそもwordpressのdocker imageが存在するのか確認していなかったので検索
$ docker search wordpress
スクリーンショット 2022-02-06 17.58.10.png
まぁ勿論ありますね

環境

macOS Big Sur 11.2.3

手順

1. docker-compose.ymlを作成する

version: '3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress

volumes:
    db_data:
少しずつ解説していきます

version

version: '3'
docker-composedで使用するバージョンです。
公式サイトによると2022/02/06時点だと3.X系が最新のようですね。

まぁ古いものを使う理由もないので今回は3を指定しました。

ちなみにこのバージョンによってComposeFileの書き方は変わってくるので注意が必要ですね。

services

docker-composeではアプリケーションを動かす要素をserviceと呼んでいて, servicesの中に使う要素について記述していきます。
今回だとデータベースとWordpressが指定されています。

db

   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
image: imageファイルとバージョンの指定
 →今回だとmysqlの5.7を指定
volumes: マウントする設定ファイルのパスを指定(mysqlのconfなど)。
 →今回はデータの永続化のためにも名前付きデータボリュームを指定しました 
 ※データの永続化 → コンテナの停止⇄起動をしてもデータが失われない
restart: 実行時に再起動するかどうか 
environment: DBについての環境変数設定(パスワードなど) 
MYSQL_ROOT_PASSWORD: rootユーザーのパスワード(任意)
MYSQL_DATABASE: 構築するデータベース名(任意)
MYSQL_USER: 作成するユーザー名(任意)
MYSQL_PASSWORD: 作成するユーザーのパスワード(任意)

正直ここら辺は難しく考えずにまずはコピペでもいいとは思います!

wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
先程とかぶる内容は割愛します

depends_on: コンテナの依存関係を定義
  →今回だとDBを起動した後にwordpressが起動するようにしています
ports: DockerImageを立ち上げる際のポート番号
  →今回だと localhost:8000 へのアクセスがコンテナ内の80ポートに送信されます

volumes

volumes:
    db_data:
先程dbで定義した名前付きボリュームをトップレベルに記載することでデータの永続化の設定が完了する

2. docker-composeを実行

docker-compose.ymlがあるディレクトリに移動をして以下のコマンドで起動
$ docker-compose up -d
スクリーンショット 2022-02-06 19.05.37.png
長々ログが吐き出されますが, 最終的にdoneが出たら完了

3. ブラウザで確認してみる

localhost:8000にアクセスする
スクリーンショット 2022-02-06 19.08.59.png
無事wordpress環境構築できました🎉
爆速すぎて笑っちゃいますね所要時間多分5分もかかってない笑

終わりに

いかがでしたでしょうか? docker様様という感じですね、、本当に頭が上がらないです
本記事についてや, railsの環境を構築したい!みたいなことがありましたら以下よりご相談いただけると幸いでございます^^
内容に応じて500円~サポートさせていただきます!
他にも記事を書いておりますのでお時間ございましたら是非ご覧になっていただければと思います!

最後までご覧いただきましてありがとうございました!

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す