概要
wordpressの環境をdockerで用意する方法をまとめていきます。
前提
- mysql 5.7
- Docker for Mac 無ければDockerの公式からインストール
コンテナ作成
それではdocker-compose.ymlでコンテナを作成していきます。
適当にディレクトリを用意してdocker-compose.ymlファイル作成
$ mkdir docker
$ cd docker
$ vim docker-compose.yml
docker-compose.ymlファイルを下記のように記述
version: '3.3'
services:
db:
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
depends_on:
- db
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wordpress:/var/www/html
volumes:
db_data:
Sequel ProでDBに接続したいので今回はmysql5.7系でインストールします。8.0系はSequel Proのバージョンによって動かないことがあるので対策が必要です(下記リンクを参考)
MySQL8.0.x に Sequel Pro で接続する
MySQL8.0でSequel Proを使えるようにする
またSequel Proに接続するためにpostsを追記していますが
ports:
- "3306:3306"
3306が既にlocalでmysqlが起動している場合があるので、3306以外を使う必要があります。
volumes:
- ./wordpress:/var/www/html
上記はDockerのバインド・マウントを利用して、./wordpress(ホスト側のディレクトリ)と/var/www/html以下のwordpressのファイル群(コンテナ側のディレクトリ)を接続しアクセスできるようにします。
このバインド・マウントによりホスト側のwordpressのファイルを編集するとコンテナ側にも反映させることができます。
参考:
https://qiita.com/mom0tomo/items/7e611ac829863d4c5c82
docker-compose.ymlを作成したディレクトリ内でコンテナの作成と起動
$ docker-compose up -d
コンテナが生成されているか確認
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------
docker_db_1 docker-entrypoint.sh Up 0.0.0.0:3306->3306/tcp,
mysqld 33060/tcp
docker_wordpress_1 docker-entrypoint.sh Up 0.0.0.0:8000->80/tcp
apach ...
生成、起動されているのでブラウザからhttp://localhost:8000/アクセスすると...
wordpressの画面が見れました。
Sequel Proで接続
最後にDB管理ツールのSequel Proでmysqlコンテナに接続していきます。
docker-compose.ymlのDBの情報を入力して接続すると成功し
デフォルトでテーブルがいくつか確認できます。
最後に
今回は以上です。
自分用のwordpressの環境が整ったので何か作成していきます。
ありがとうございました。
参考
https://qiita.com/mom0tomo/items/7e611ac829863d4c5c82
https://qiita.com/ucan-lab/items/b68db1db931c954da921