壁掛けタッチパネルをスマートコントローラーとして拡張していくために、IoTプラットフォームをRaspberry Pi 4 の Docker コンテナをベースに構築していきます。Web ベースの UI を簡単にデザインできるように Raspberry Pi 4 の Doker コンテナで WordPress を構築していきたいと思います。壁掛けタッチパネルと Raspberry Pi に Docker コンテナの構築については下記の記事をご参照ください。
Index
プロジェクト用のディレクトリ作成
アプリケーションイメージのコンテキストディレクトリを作成します。このプロジェクト用のディレクトリにイメージをビルドするために必要となるものを保存します。
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 のインストールが正常に完了します。「ログイン」をクリックするとログイン画面が表示されるのでインストールウィザードで入力したユーザーIDとパスワードでログインします。
以上で Raspberry Pi 4 の Doker コンテナで WordPress が構築できました。 壁掛けタッチパネルをスマートコントローラーとして拡張していくために、このRaspberry Pi 4 の Docker コンテナ WordPress をベースにIoTプラットフォームを構築していきます。