Dockerを使ってWordPress環境を瞬作
はじめに
色んな技術を勉強する時に、一番厄介なのが環境構築です。
失敗しても捨ててすぐに作りなおせるような環境があれば、勉強が捗りますよね?
そこでdockerを使ってWordPress環境を構築できるようにしました。
docker-composeで一瞬で環境構築
version: '3'
services:
wp:
container_name: wordpress # 名前を付ける
image: wordpress:5.4-php7.4-apache # 基となるdockerイメージを設定
ports: # docker内の80ポートを8080ポートとして使用
- 8080:80
depends_on: # dbを待ってから立ち上げる
- db
environment: # 環境変数を設定する
WORDPRESS_DB_HOST: mysql:3306 # mysqlサーバーの3306ポートを指定
WORDPRESS_DB_PASSWORD: password # データベースのパスワード
WORDPRESS_DB_NAME: wordpress # データベースの名前
WORDPRESS_DB_USER: wp_user # データベースのユーザー名
volumes: # ホストPCにボリュームをマウントする
- ./apache/log:/var/log/apache2
- ./public:/var/www/html
db:
container_name: mysql
image: mysql:5.7
environment: # WordPressの方で指定した設定と同じにしておく必要がある
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: password
volumes:
- ./mysql:/var/lib/mysql
docker-compose.ymlというファイルを作成し、上記を書きます。
あとは以下のコマンドを実行します。
docker-compose up
-d: オプションでバックグラウンドで実行
http://localhost:8080/ にアクセスすると、WordPressの設定画面が確認できます。

あとは画面に従って操作するだけです。
WordPressの階層を変える
wp: の下の階層に working_dir: /var/www/html/WordPress を追加できます。
こうすることで、WordPressディレクトリ以下を基本としてWordPressを起動します。
この設定で、サブディレクトリにWordPressがある場合にも対応できます。
voluems
volumes:
- ./apache/log:/var/log/apache2
- ./public:/var/www/html
この設定でホストPCにDocker内のファイルをマウントできます。
./apache/log:/var/log/apache2の設定で、WordPressのログが確認できます。./public:/var/www/htmlの設定で、WordPressの中身を確認できます。
その他コマンド
終了
終了するには Ctrl + Cです。
停止中のコンテナが邪魔な場合は以下で消すことができます。
docker-compose rm -sf
-f, --force: オプションで確認なしで実行-s, --stop: 必要なら削除前にコンテナを停止する
コンテナの中に入る
WordPressのDockerコンテナに入るには以下のコマンドです。
docker exec -it wordpress bash
起動中コンテナの確認
docker ps
-a, --all: 停止中のコンテナを含めて表示する
WordPressのファイル構成を理解する
はじめに 前回の Dockerを使ってwordpress環境を瞬作 という投稿で、WordPressを立ち上げました。 今回はファイル構成の詳細を見ていきましょう。 ファイル構成 . ├── wp-admin # 管理画面に関するファイル ├── wp-content │ ├── languages │ ├── plugins # プラグインが格納されるディレクトリ │ ├── themes # テーマが格納されるディレクトリ │ └── upgrade └── wp-includes ├── index.php # WordPressが初めに通るファイル ├── wp-config.php # WordPressの設定が書かれているファイル ├── wp-config-sample.php # wp-config.phpの雛形ファイル ├── wp-login.php # ログイン画面のファイル ├── license.txt # ライセンスに関するファイル ├── readme.html # WordPressの概要に関するファイル └── .htaccess # Apacheの設定ファイル ...
WordPressのMySQLを覗いてみる
はじめに 前回の Dockerを使ってwordpress環境を瞬作 という投稿で、WordPressを立ち上げました。 今回は立ち上げたことを前提として、MySQLファイルを覗いていきましょう。 MySQLにログインする まずは、MySQLのDockerコンテナ内に入ります。 docker exec -it mysql bash 入った後、MySQLにログインします。 mysql -u wp_user -ppassword -u: ユーザー名 -p: パスワード データベースの一覧 $ show databases; +--------------------+ | Database | +--------------------+ | information_schema | | wordpress | +--------------------+ 2 rows in set (0.10 sec) wordpressという名前のデータベースがあることがわかります。 テーブル一覧 use wordpress; でデータベースを指定できます。 テーブル一覧を見てみましょう。 $ show tables; +-----------------------+ | Tables_in_wordpress | +-----------------------+ | wp_commentmeta | | wp_comments | | wp_links | | wp_options | | wp_postmeta | | wp_posts | | wp_term_relationships | | wp_term_taxonomy | | wp_termmeta | | wp_terms | | wp_usermeta | | wp_users | +-----------------------+ 12 rows in set (0....