dockerはインストール済みとします。
構築したいdocker仕様
- dockerでWordPressを立ち上げたい。
- WordPressを動かすwebサーバー、dbも用意する
- WordPressのデータはホストOS側の ./htdoc に保存する
- MariaDbのデータはホストOS側の ./mariadb に保存する
- 外部には80番ポートのみ公開し、DBのポートは公開しない
docker-compose.yml 作成
以下のDocker Composeファイルを使用して、WordPressとMariaDBをDockerコンテナで起動し、データの永続化を行うことができます。
パスワードやフォルダやポート構成などは適時環境に合わせて書き換えてください。
例えば、以下のところは
./mariadb:/var/lib/mysql
./htdocs:/var/www/html
↓
/hoge/xxx/mariadb:/var/lib/mysql
/hoge/xxx/htdocs:/var/www/html
こんな感じで書き換えればOKです。
version: '3'
services:
db:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
- ./mariadb:/var/lib/mysql
wordpress:
depends_on:
- db
image: wordpress
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./htdocs:/var/www/html
このDocker Composeファイルにより、MariaDBとWordPressのコンテナが作成されます。
MariaDBのデータは、ホスト側の./mariadb
ディレクトリに永続化され、
WordPressのデータは、ホスト側の./htdocs
ディレクトリに永続化されます。
このファイルをdocker-compose.yml
という名前で保存し、以下のコマンドを使用してDockerコンテナを起動します。
docker-compose up -d
WordPressには、ブラウザから
- http://localhost
- http://ipアドレス
でアクセスできます。
試しにWordPress一通りの設定をすまし、適当にプラグインをインストールしたところ、
確かに /home/xxx/htdocs/wp-content/plugin に書き込まれていることが確認できました。
コメント