こんにちは。WordPressのローカル環境を構築するために、Raspberry Pi 3BにDockerでWordPressを構築しました。現在のRaspberry Piの主流は64bitですから32bit + Dockerで構築した例は少なかったため記録として記事にします。
DockerとDocker Composeをインストールする
まずはDockerとDocker Composeを構築します。構築済みの方は次の手順に進んでください。
Dockerのインストール
以下のコマンドを実行してDockerをインストールします。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
操作するユーザー(pi)をグループdockerに属させます。piはユーザー名に置き換えてください。
sudo usermod -aG docker pi
変更を反映させるために再起動します。
sudo shutdown -r now
動作確認
nginxコンテナを起動して正常に動いているか確認します。
docker run --name some-nginx -d -p 8080:80 nginx
http://[Raspberry Pi のIPアドレス]:8080
にアクセスします。
上記のような画面が表示されればOKです。
起動したnginxコンテナを終了します。コンテナIDを以下で確認します。
docker ps
CONTAINER ID
の値をメモして、以下のコマンドを実行します。
docker stop [CONTAINER ID]
Docker Composeのインストール
pip環境をインストールします。
sudo apt install python3-dev -y
sudo apt install python3-pip -y
Docker Composeをインストールします。
sudo pip3 install docker-compose
以下のコマンドでDocker Composeのバージョンが表示されればOKです。
docker-compose -v
WordPressコンテナを起動する
Docker + Docker Compose環境が構築できたら、WordPressコンテナを起動します。
ホームディレクトリなどに任意のフォルダを作成します。
mkdir ~/dockerWordPress
docker-compose.yml
を作成します。
vim docker-compose.yml
docker-compose.yml
は以下です。
version: '3.8'
services:
db:
image: yobasystems/alpine-mariadb:10.5
volumes:
- db_data:/var/lib/mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: test_user
MYSQL_PASSWORD: user_password
wordpress:
depends_on:
- db
image: arm32v7/wordpress:latest
volumes:
- ./html:/var/www/html
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: test_user
WORDPRESS_DB_PASSWORD: user_password
volumes:
db_data:
html:
ポイント
- 32bitの場合はMySQLイメージを読み込めないため、
yobasystems/alpine-mariadb:10.5
を使用します。 - wordpressの
volumes
はローカルディレクトリを指定して、wp-config.php
などを編集できるようにします。docker-compose.yml
を作成したディレクトリにhtml
ディレクトリが作成され、その配下にwordpressのファイルが展開されます。
docker-compose.yml
が作成できたら、コンテナを立ち上げます。以下のコマンドを実行してください。
docker-compose up
(バックグラウンドで起動するならdocker-compose up -d
)
WordPressにアクセスする
コンテナの起動が完了したら、http://[ラズパイip]:8080
にアクセスします。初回セットアップが開くので必要な情報を入力します。
セットアップが完了したら、http://[ラズパイip]:8080/wp-admin/
でログイン画面にアクセスします。
コンテナを終了する
WordPressのサイトのアクセスがと管理画面のログインが完了したら、docker-compose.yml
があるディレクトリに移動して、以下のコマンドでコンテナを終了します。
docker-compose down
おわりに
Dockerを使うことで環境構築が非常に簡単になりました。特にSQLやnginxなどのアプリケーションを同時にセットアップできるのは大きなメリットだと思います。
Raspberry Pi 3BでもWordPressはそこそこな速度で動くので、ローカルの検証環境として便利です。クラウドに持っていく際はAll-in-One WP Migrationを使って移行しようかな。
Be First to Comment