Docker + AWS LightsailでWordPressをインストールする

はじめに

AWSのVPSであるLishtsailは安いプランだと500円以内で、固定IPが無料だしAWSでドメインも取得できるし、AWSのアカウントさえあれば独自ドメインのWordPressのサイトを構築できます。

LightsailのプランでWordPressがインストール済みのものもあるのですが、今回はそれを使わずに素のAmazon LinuxにDockerをインストールしてWordPress公式DockerイメージからWordPressを構築します。

このサイトもAWSのLightsailを使用して作られています。

※今はNuxtで作り直してしまいました。

インストール方法

1. Dockerをインストール

# LightsailのUPDATEとDOCKERのインストール
sudo yum update -y
sudo yum install -y docker
sudo service docker start

この WordPress のイメージは Debian をベースに作られているようです。

2. Dockerを自動起動設定

OSを再起動した時にDockerが自動的に起動するようにします。

# docker自動起動
sudo chkconfig docker on

3. WordPressとMySQLの公式イメージをダウンロード

MySQLをWordPressのイメージをダウンロードします。 両方とも公式イメージなので安心感あります。

# image download
sudo docker pull mysql:5.7
sudo docker pull wordpress

最新版のmysqlだと認証エラーになってしまったので5.7を使います。

4. コンテナ作成

# コンテナの作成と起動
sudo docker container run --name [mysql] -e MYSQL_ROOT_PASSWORD=XXXXXX -d -m 448m --oom-kill-disable=true mysql:5.7

sudo docker container run --name [wordpress] --link [mysql]:mysql -d -p 80:80 -p 443:443 -m 192m --oom-kill-disable=true --log-driver=syslog -v /home/[user]/html:/var/www/html -v /home/[user]/letsencrypt:/etc/letsencrypt wordpress
オプション解説
–log-driver=syslogコンテナのログをsyslogに出力する
-v /home/[user]/html:/var/www/html
-v /home/[user]/letsencrypt:/etc/letsencryptホストに用意したフォルダとコンテナのフォルダを共有することができます

これでWordPressが作れました。

5. ドメインの設定

LightsailのIPをドメインのレコードに設定します。

作り直す時

うまく作れなくてやり直す時は下のコードを流してコンテナを一度削除してからやり直します。

OSからやり直す事なくリトライできるので便利です。

# コンテナ停止
sudo docker stop [mysql] [wordpress]

# コンテナ削除
sudo docker rm [mysql] [wordpress]

関連記事

このページをGitHubで編集する 更新日 Sun, Aug 22, 2021