Docker Desktop for Mac を使って、WordPressの実行環境を構築するまでの備忘録です。
環境
- mac OS10.14.6
Dockerのセットアップ
下記から
[Products] から [Docker Desktop] を選んで [Download Docker Desktop for Mac] を押下します。
事前にサインインしてユーザー登録する必要があります。
ダウンロードが終わったらインストールします。
Docker Compose を使った、WordPressのセットアップ
適当なディレクトリを作成します。
ディレクトリに入って、下記を参考に[docker-compose.yml]ファイルを作成します。
[docker-compose up -d]を実行します。
$ docker-compose up -d
db-container02 is up-to-date
Recreating wp-container02 ... done
$ ls -la
total 8
drwxr-xr-x 5 yoshida staff 160 11 16 09:17 .
drwxr-xr-x 5 yoshida staff 160 11 16 08:01 ..
-rw-r--r-- 1 yoshida staff 741 11 16 09:17 docker-compose.yml
drwxr-xr-x@ 16 yoshida staff 512 11 16 09:17 html
drwxr-xr-x 2 yoshida staff 64 11 16 09:17 vendor
$ tree -L 2
.
├── docker-compose.yml
├── html
│ ├── index.php
│ ├── license.txt
│ ├── readme.html
│ ├── wp-activate.php
│ ├── wp-admin
│ ├── wp-blog-header.php
│ ├── wp-comments-post.php
│ ├── wp-config-sample.php
│ ├── wp-config.php
│ ├── wp-content
│ ├── wp-cron.php
│ ├── wp-includes
│ ├── wp-links-opml.php
│ ├── wp-load.php
│ ├── wp-login.php
│ ├── wp-mail.php
│ ├── wp-settings.php
│ ├── wp-signup.php
│ ├── wp-trackback.php
│ └── xmlrpc.php
└── vendor
参考 docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
container_name: db-container
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
WORDPRESS_DB_NAME: wordpress
volumes:
- ./html:/var/www/html
- ./vendor:/var/www/vendor
container_name: wp-container
volumes:
db_data: {}
注意点
- 複数のコンテナを利用している場合は、適宜コンテナ名を変更する。
- WordPressサーバーが利用するポートが被っている時は変更する。(ex. "8080:80")
- [volumes:]に[./html:/var/www/html]を書いておくと、Dockerを停止した時もファイルがそのまま残リます。
起動確認
指定したポートでローカルサーバーの起動を確認します。
下記の画面が表示されたらひとまずOKです。

WordPressのインストール
言語を選択して[続ける]を押下します。

[ようこそ]画面でタイトル、ユーザー名、パスワード、メールアドレスを入力して
[WordPressをインストール]を押下します。
サイトをインデックスしないようにするにチェックもしておきます。
お疲れ様でした。
Dockerの停止
起動したら停止しないとね。
裏で動いていてポートを塞いだりとかあるので。。。
起動しているdockerコンテナの確認
docker ps
で 起動しているコンテナを確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4b18df4e27d wordpress:latest "docker-entrypoint.s…" 2 weeks ago Up 8 hours 0.0.0.0:8080->80/tcp wp-container02
1e15abc10742 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago Up 8 hours 3306/tcp, 33060/tcp db-container02
deabc32ff640 wordpress:latest "docker-entrypoint.s…" 2 months ago Up 8 hours 0.0.0.0:8000->80/tcp wp-container
bb6127b6cc39 mysql:5.7 "docker-entrypoint.s…" 2 months ago Up 8 hours 3306/tcp, 33060/tcp db-container
docker-compose stop して停止
docker-compose
で起動した時は、docker-compose stop
で停止します。
docker-compose ps
で起動してるコンテナサービスを確認して
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------
db-container docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
wp-container docker-entrypoint.sh apach ... Up 0.0.0.0:8000->80/tcp
docker-compse stop
で停止します。
$ docker-compose stop
Stopping db-container ... done
Stopping wp-container ... done
docker ps
で停止を確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
参考リンク
- [Quickstart: Compose and WordPress]https://docs.docker.com/compose/wordpress/