0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者でもDockerでWordPressの環境構築ができた!

Last updated at Posted at 2021-04-19

はじめに

この記事はDockerを軽く勉強しただけの駆け出しエンジニアが、
Docker、WordPressの勉強のために環境構築をする過程・反省を記した備忘録です。

ちなみにローカルで勉強用にWordPressを使うだけなら環境構築は Local by Flywheel と検索するとやり方が出てくると思いますが、ソフトウェアをインストールして軽く設定をしてもらうだけですぐにできます。

あくまで私はDockerの勉強も兼ねてやってみようと思った次第です。

経緯

新たにWordPressを学び始めるにあたって、Dockerも絶賛勉強中だったため
せっかくならと得た知識をアウトプットする意味でも環境構築をDockerでやってみようと考えました。

ちなみに、何をもとにDockerを学んでいるかというと、
Udemyの「ゼロからはじめる Dockerによるアプリケーション実行環境構築」というコースです。これを現在40%ほど終わらせたところです。

一応リンクも貼っておきます。

まずは自力で頑張ってみる(失敗例)

まずは作業用のディレクトリを作る(名前はなんでもよい)

$ mkdir WordPress/WordPress-lecture

次に、nginxでサーバーを立ち上げるレッスンで使った、バインドマウントを設定してWordPressイメージのコンテナを立ち上げるコードを実行しようとした(macの場合のコード)

WordPress-lecture $ docker run --name wordpress-lecture:ver1 \
-v /Users/(PCのユーザー名)/WordPress/WordPress-lecture:/usr/share/wordpress/html:ro -d -p 8081:80 wordpress

Dockerコンテナのタグの指定はここではできないためエラー。:ver1の部分を消して再度実行

するとエラーは起きずコンテナは立ち上がったが肝心のサーバーがないため、もちろんブラウザで localhost:8081 にアクセスしてもページは表示されず…

コンテナにnginxのイメージを追加すればいいのか?それともnginxのサーバーを立ち上げてそこにWordPressのイメージを追加したほうがいいのか?Apacheじゃなきゃダメなのか?と考えて参考になるものがないかネットを漁ってみたが、学んだことをもう一度調べ直すのにもここまでそれなりの時間を要していたため、早くWordPressの勉強に取り掛かりたかったので…

完成されたコードを使いWordPressの環境を整える

Qiitaで探すと何人かの方々が既に試していらっしゃったのでそのコードを拝借することに

参考にさせていただいた記事
https://qiita.com/qpSHiNqp/items/48815ed90bd474064708
https://qiita.com/t20190127/items/3abb7c17acdc8543c8ad
https://qiita.com/engineer_ikuzou/items/07ff7bd7c9eabf0b3d6b

・①の記事のdocker-compose.ymlの内容を丸パクリさせてもらい、自身のWordPress-lectureディレクトリ内にdocker-compose.ymlファイルを作成

・自身の現在のディレクトリをコンテナにバインドマウントするための記述 -.:/app をvolumes欄に追加

・ポート番号8080は別のレッスンで使用していたので8081に変更

最終的なファイルの内容がこちら

docker-compose.yml
version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8081:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - .:/app
      - wordpress:/var/www/html
      - ./wp-content/themes:/var/www/html/wp-content/themes
      - ./wp-content/plugins:/var/www/html/wp-content/plugins

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

docker-compose.ymlファイルを置いているWordPress-lectureディレクトリからコマンドを実行

WordPress-lecture $ docker-compose up -d

(-dオプションはバックグラウンドで処理を実行させるためのもの)

doneの文字が表示され無事に成功
localhost:8081にアクセスするとWordPressのデフォルト画面が表示された!

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?