Raspberry Pi 4 の Docker コンテナに WordPress を構築しよう

Raspberry Pi 4 の Docker コンテナに WordPress を構築しよう

壁掛けタッチパネルをスマートコントローラーとして拡張していくために、IoTプラットフォームをRaspberry Pi 4 の Docker コンテナをベースに構築していきます。Web ベースの UI を簡単にデザインできるように Raspberry Pi 4 の Doker コンテナで WordPress を構築していきたいと思います。壁掛けタッチパネルと Raspberry Pi に Docker コンテナの構築については下記の記事をご参照ください。

プロジェクト用のディレクトリ作成

アプリケーションイメージのコンテキストディレクトリを作成します。このプロジェクト用のディレクトリにイメージをビルドするために必要となるものを保存します。

pi@raspberrypi02:~ $ pwd
/home/pi
pi@raspberrypi02:~ $ mkdir wordpress
pi@raspberrypi02:~ $ cd wordpress/
pi@raspberrypi02:~/wordpress $ pwd
/home/pi/wordpress

ComposeFileの作成

docker-compose.yml ファイルを生成します。 docker-compose.yml は拡張子がYAMLのアプリケーションを動かすための処理を記述しているファイルで、ComposeFileと呼ばれています。この ComposeFile が WordPress を起動して、データ保存のためにボリュームマウントを使った MySQL インスタンスを生成します。touch で docker-compose.yml ファイルを作成して vi で「ここから」から「ここまで」の内容を記載して保存します。

pi@raspberrypi02:~/wordpress $ pwd
/home/pi/wordpress

pi@raspberrypi02:~/wordpress $ touch /home/pi/wordpress/docker-compose.yml

pi@raspberrypi02:~/wordpress $ ls
docker-compose.yml

pi@raspberrypi02:~/wordpress $ vi docker-compose.yml
##ここから#######
version: '3'

services:
   db:
     image: hypriot/rpi-mysql
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       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:
##ここまで######

プロジェクトの構築

ComposeFileを保存したプロジェクトディレクトリで docker-compose up -d を実行します。これはデタッチモードにより docker-compose up を実行し、不足する Docker イメージがあれば取得して、WordPress と データベースの両コンテナを起動します。

pi@raspberrypi02:~ $ cd wordpress/

pi@raspberrypi02:~/wordpress $ pwd
/home/pi/wordpress

pi@raspberrypi02:~/wordpress $ docker-compose up -d
Creating network "wordpress_default" with the default driver
Creating volume "wordpress_db_data" with default driver
Pulling db (hypriot/rpi-mysql:)...
latest: Pulling from hypriot/rpi-mysql

・
・
Status: Downloaded newer image for hypriot/rpi-mysql:latest
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
d0061d6703dc: Pull complete

・

・
Status: Downloaded newer image for wordpress:latest
Creating wordpress_db_1 ... done
Creating wordpress_wordpress_1 ... done

ブラウザで WordPress にアクセス

ブラウザから「 http://【RaspberryPi IPアドレス】:8000/」にアクセスします。Wordpress のインストールウィザードが表示されます。「日本語」を選択して「続ける」をクリックします。

Wordpress のインストールウィザードで「日本語」を選択して「続ける」をクリック
WordPress のインストールウィザードで「日本語」を選択して「続ける」をクリック

「サイトのタイトル」にタイトル、WordPress の管理画面にログインするための「ユーザー名」と「パスワード」、WordPressからの通知などを受け取るための「メールアドレス」の情報を入力して「 WordPress をインストール」をクリックします。

必要な情報を入力して「WordPressをインストール」をクリック
必要な情報を入力して「WordPressをインストール」をクリック

「成功しました!」と表示されWordPress のインストールが正常に完了します。「ログイン」をクリックするとログイン画面が表示されるのでインストールウィザードで入力したユーザーIDとパスワードでログインします。

「成功しました!」と表示されWordPress のインストールが正常に完了
「成功しました!」と表示されWordPress のインストールが正常に完了
ログイン画面が表示されるのでインストールウィザードで入力したユーザーIDとパスワードでログイン
ログイン画面が表示されるのでインストールウィザードで入力したユーザーIDとパスワードでログイン

以上で Raspberry Pi 4 の Doker コンテナで WordPress が構築できました。 壁掛けタッチパネルをスマートコントローラーとして拡張していくために、このRaspberry Pi 4 の Docker コンテナ WordPress をベースにIoTプラットフォームを構築していきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です