【10分で完了】M1 MacのDockerでWordPressのローカル環境を構築する方法
M1 MacのDockerで、WordPressのローカル環境を構築する方法です。
MAMPでうまく構築できない...という方はぜひ試してみてください。
複雑な手順は一切無いので、Dockerを初めて使う方もぜひ試してみてください。
M1以前はMAMPでローカル環境を構築していたのですが、M1に変えたら何故かうまくいかず...。
そこで、MAMPではなくDockerでローカル環境を構築してみたところ、思いの外簡単でした。
しかし、Dockerはまだまだ慣れていないので、備忘録も兼ねてこの記事を書くことにしました。
■参考記事
https://qiita.com/Nerosui777/items/dfef9612e4bbb86af3b5
手順
- Dockerをインストール
- WordPress用のディレクトリを作成&必要なファイルを配置
- Dockerで少しだけ操作
- wp-config.phpを書き換える
- 終わり
1. Dockerをインストール
以下記事を参考にDockerをインストールします。
https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81
インストール後、以下コマンドを実行。
docker version
Dockerのバージョンが返ってきたらOKです。
返ってこない場合、ターミナルを再起動してみる。パスが通っているか確認する。などを試してみて下さい。
「docker パス 通す」なので検索すれば解決策が出てくるはずです。
(ここで詰まる可能性はほぼ無いと思いますが...)
インストールしたら、Dockerを起動しておきましょう。
メニューバーにDockerのアイコンがあればOKです。
2. WordPress用のディレクトリを作成&必要なファイルを配置
公式サイトから必要なファイルをダウンロードします。
https://ja.wordpress.org/download/#download-install
その後、任意のディレクトリにファイル一式を配置してください。
今回は以下のようなディレクトリ構成とします。
3. Dockerで少しだけ操作
本当に少し操作するだけです。
ファイルをひとつ作り、コマンドを一つ実行するだけです。
ファイルを作成
wordpress/ディレクトリの中にdocker-compose.ymlという名前でファイルを作成して、以下コードをそのまま貼り付けます。
version: '3.3'
services:
wordpress:
image: wordpress:latest
container_name: wp
depends_on:
- db
ports:
- "3001:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./:/var/www/html
db:
image: mariadb
container_name: wp_portfolio_mysql
ports:
- "4306:3306"
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
db_data:
docker-compose.yml作成後は、以下のようなディレクトリ構成になります。
参考記事によると、mysqlだとうまく動かないとのことです。Dockerの参考記事ではほとんどmysqlになっているので、ここで詰まる方がいそうですね...。
Dockerコマンドを実行
ターミナルでdocker-compose.ymlのディレクトリに移動します。
その後、以下コマンドを実行します。
docker-compose up -d
Docker上にWordPressを動かすために必要なデータ(サーバなど)を作成するコマンドです。
4. wp-config.phpを書き換える
wp-config.phpを開き、以下のように書き換えます。
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wordpress' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'wordpress' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'wordpress' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'db:3306' );
(ユーザー名などはdocker-compose.ymlで自由に変更できます)
以上で環境構築は終了です。
WordPressがローカルで動くか確認する
試しに、http://localhost:3001/にアクセスしてみましょう。
(ポート番号の3001はdocker-compose.ymlで自由に変更できます)
インストール画面が開けば成功です。
ユーザー名などは、先程wp-config.phpで設定した値にしましょう。
まとめ
Dockerを初めて使う方でも簡単にできると思うので、MAMPで上手くいかなかった方はぜひ試してみてください。