Docker Composeで簡単!WordPress構築!

Docker
記事内に広告が含まれています。

取り敢えず無料でWordPressでブログサイト制作を試してみたいという人にオススメの環境構築を伝授。VPSでももちろんWordPressは試すことはできますが、取り敢えず試してみたいという場合には契約手続きや課金が気になるところです。それを気にせずWordPressとはなんぞやと操作してみたい人には、自分のPC上に環境を構築して練習してから契約してもいいと思います。

注意点ですが本手順はあくまで検証用ですので、本番環境で使おうとはしないでください。以前私の方でこのDockerイメージの脆弱性診断を行ったことがありますが結構脆弱でした。あくまでお試しでということをご理解ください。データベースのパスワードなどももろバレですしね。

前提条件

  • Docker Desktopのインストールが終わっていることを確認してください。
  • Docker DesktopでなくてもDockerエンジンがインストールされている環境であれば問題ありません。

Docker Desktopのインストールが終わっていない方は、以下記事をご覧ください。

Docker Composeの設定ファイル作成

WordPress用のディレクトリ作成

私の場合はホームディレクトリにreposというリポジトリ用のディレクトリがあり、そこに各プロジェクト用のディレクトリを作成して整理しています。今回はホームディレクトリ配下のrepos/wordpressというディレクトリを作成します。

mkdir -p ~/repos/wordpress

~/repos/wordpressディレクトリへの移動

cd ~/repos/wordpress

docker-compose.ymlの作成

Docker Composeの設定ファイルであるdocker-compose.ymlファイルを作成する。この設定内容自体はDocker Hubと呼ばれるDockerイメージを保管・提供するサービスで公式に公開されているWordPressのサイトから記載したものです。

Docker

以下コマンドをクリップボードへコピーアイコンからコピーして、ターミナルに貼り付けるとdocker-comopse.ymlというファイルが作成されます。

cat <<EOF > docker-compose.yml
services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:8.0
    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:
EOF

WordPress起動

Docker Desktopが起動していなければ、FinderのApplicationからDocker.appを起動するか、LaunchpadからDockerアイコンをクリックしてください。

コマンド

docker compose up -d

出力結果

[+] Running 34/34
 ✔ db 11 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                 115.5s
   ✔ 0647c03756d6 Pull complete                                                                                                                                       67.9s
   ✔ 7c571053c52e Pull complete                                                                                                                                        1.8s
   ✔ d6453741958d Pull complete                                                                                                                                        3.3s
   ✔ 03e97ad7011a Pull complete                                                                                                                                       20.0s
   ✔ 65f90da87686 Pull complete                                                                                                                                       12.2s
   ✔ e34bc5fd6dca Pull complete                                                                                                                                       20.1s
   ✔ 1aabd0ea8416 Pull complete                                                                                                                                       82.0s
   ✔ 8c7cac6c965c Pull complete                                                                                                                                       25.2s
   ✔ 0c3b88eb4e54 Pull complete                                                                                                                                      107.4s
   ✔ 21716a23f73a Pull complete                                                                                                                                       71.7s
   ✔ 275e4950a203 Pull complete                                                                                                                                       80.4s
 ✔ wordpress 21 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                182.1s
   ✔ 25d3892798f8 Pull complete                                                                                                                                      117.9s
   ✔ 52e7deb050f3 Pull complete                                                                                                                                       84.5s
   ✔ 1bba79b57e69 Pull complete                                                                                                                                      166.7s
   ✔ 0a396211340d Pull complete                                                                                                                                      108.7s
   ✔ 6cc6116c5d39 Pull complete                                                                                                                                      132.2s
   ✔ 1d178055b882 Pull complete                                                                                                                                      121.9s
   ✔ 009f61f55438 Pull complete                                                                                                                                      123.5s
   ✔ 0fafabc46b5f Pull complete                                                                                                                                      133.7s
   ✔ eb5fbc11afaf Pull complete                                                                                                                                      134.1s
   ✔ a9096885be4a Pull complete                                                                                                                                      137.1s
   ✔ 3c585c1808c2 Pull complete                                                                                                                                      135.7s
   ✔ 230e651fa963 Pull complete                                                                                                                                      137.5s
   ✔ 295d1c8d9bd1 Pull complete                                                                                                                                      138.7s
   ✔ 27a6b1a3d86f Pull complete                                                                                                                                      155.8s
   ✔ 21df6ce5f7f0 Pull complete                                                                                                                                      150.5s
   ✔ ffc9ebce9f7d Pull complete                                                                                                                                      154.3s
   ✔ b9b5a0dab732 Pull complete                                                                                                                                      155.5s
   ✔ 6e4dd215c4c9 Pull complete                                                                                                                                      156.6s
   ✔ d31ce3cd4557 Pull complete                                                                                                                                      176.7s
   ✔ 09d244821c44 Pull complete                                                                                                                                      163.0s
   ✔ cb28d2ae22e8 Pull complete                                                                                                                                      164.0s
[+] Running 2/5
 ⠧ Network wordpress_default        Created                                                                                                                            0.7s
 ⠧ Volume "wordpress_wordpress"     Created                                                                                                                            0.6s
 ⠧ Volume "wordpress_db"            Created                                                                                                                            0.6s
 ✔ Container wordpress-db-1         Started                                                                                                                            0.6s
 ✔ Container wordpress-wordpress-1  Started                                                                                                                            0.6s

WordPressの起動確認

コマンド

docker compose ps

出力結果

データベースとしてMySQL、WordPressのアプリが起動していることが確認できます。

NAME                    IMAGE       COMMAND                  SERVICE     CREATED         STATUS         PORTS
wordpress-db-1          mysql:8.0   "docker-entrypoint.s…"   db          2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp
wordpress-wordpress-1   wordpress   "docker-entrypoint.s…"   wordpress   2 minutes ago   Up 2 minutes   0.0.0.0:8080->80/tcp

WordPress初期設定

WordPressの初期設定

http://localhost:8080/wp-admin/install.php にアクセスする。

セットアップ時の言語選択

日本語を選択し、「次へ」ボタンをクリックしてください。

必要情報の入力

サイトのタイトルユーザー名パスワードメールアドレスを入力し、「WordPressをインストール」ボタンをクリックします。強力なパスワードが自動的に生成されますので、忘れずに保存しましょう。このWordPressはお手元のPCにインストールされているだけなので、インターネットに公開されているわけではありません。ですので、「検索エンジンがインデックスしないようにする」はつけてもつけなくても変わりはありません。

インストールの完了

ログイン」のリンクをクリックします。

ログイン

ユーザー名パスワードを入力し、「ログイン」ボタンをクリックします。

構築完了

WordPressにログインできました。あとは投稿してみるなり、プラグインを試してみるなり色々いじってみましょう。使い終わったらログアウトして、WordPress停止手順を行ってください。

WordPress停止

WordPressのコンテナを停止します。

コマンド

docker compose down

出力結果

[+] Running 3/2
 ✔ Container wordpress-wordpress-1  Removed                                                                                                                            2.1s
 ✔ Container wordpress-db-1         Removed                                                                                                                            1.7s
 ✔ Network wordpress_default        Removed

最後に

2024/01/27(土)にこのブログを立ち上げました。

目的は自身の為の技術情報の記録とITで困っている皆さんの問題を解決できればいいなと思って始めました。

このブログ自体はConoHa WINGのWordPressを使って運営されています。2024/01/27(土)時点で¥10,786/年で運営できており、月換算だと¥898/月となっており¥900を切っている安さです。

それでいて独自ドメインが付いてくるのでかなりお買い得なのでおすすめです。

勿論はてなブログなどその他多くの無料ブログサイトがありますが、アフィリエイト広告の掲載に制限があったりなど、色々と規約があり面倒臭そうです。

その点自身でWebサイトを立ち上げれば自由に広告を貼れるので、その辺りの面倒臭さから解消されます。

アフィリエイト広告で副収入を得てみたいという方は、ConoHa WINGは安いのでいかがでしょうか。

まだ私はブログで副収入0なので、がんばりまっす!

コメント

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