docker-composeを使ってWordPress環境を一気に立ち上げる
はじめに
はてなブログから、レンタルサーバに引っ越すにあたり、事前に、Windows上で、WordPress環境を立ち上げ移行作業を行いました。
作ったWordPressの環境一式を本番サイトに移動します。
その時の備忘録です。
docker-composeとは
docker-composeは、複数のコンテナを使う Docker アプリケーションを、定義・実行するツールです。
WordPress環境は、、WordPress本体を実行するのdockerイメージとデータベース(mysql)のdockerイメージの2つのdockerイメージを連携して実行する必要があります。
dockerコマンドを使う場合、これら2つのコンテナを個々に、起動等の制御が必要ですが、docker-composeを使用することにより、これらのコンテナをまとめて管理することができます。
docker-composeは、dockerをインストールすると、一緒にインストールされていますので、追加インストールは不要です。
docker-compose.ymlファイルの準備
docker-composeを利用するには、docker-compose.ymlファイルを用意します。
今回は、WordPressのコンテナと、mysql:5.7のコンテナを起動する定義を作成しました。
mysqlのデータベース名、ユーザ名、パスワードは、コンテナ間で一致させてください。
また、docker-compose.ymlファイルと同じディレクトリに、"sitedata"というディレクトリを作成しておいてください。
WordPressのコンテナ内の"/var/www/html/"が、このホルダにマッピングされ、作成したWordPressのsiteデータ一式がこの中に作成されます。
version: '3.1'
services:
wordpress:
image: wordpress
container_name: "wordpress"
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- ./sitedata:/var/www/html/
depends_on:
- db
db:
image: mysql:5.7
container_name: "wp-mysql"
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
# https://docs.docker.com/compose/compose-file/#volume-configuration-reference
volumes:
sitedata:
driver: local
docker-composeによるサービス開始
Docker Quick Terminalから、作成した、docker-compose.ymlファイルがあるディレクトリに移動します。
以下のコマンドで、WordPress, mysqlのコンテナが起動します。
(初回はイメージのダウンロードから行われます。)
docker-compose up -d
起動が成功している場合は、ブラウザから以下のURLにアクセスしてください。
http://ipaddress:8080/
成功すれば以下のWordPressの初期設定画面が表示されるはずです。
ipadressは、以下のコマンドで、ログを確認し、WordPressがサービスしている、ipadressとportを確認してください。
docker-compose logs
ちなみに、サービスの起動に失敗する場合は、"-d"をつけずに、upしてみてください。
起動時にエラー出ている場合に確認がしやすくなります。
コンテナをまとめて停止するには、以下を実行してください。
docker-compose stop
また、コンテナをまとめて削除する場合は、以下を実行してください。
docker-compose rm
最後に
docker-composeにより、WordPressのような複数のコンテナをつかった環境を管理するのが楽になります。
一度、docker-compose.ymlを作成してしまえば、中身を忘れても、起動と停止はできますので。
またよろしくです。
ディスカッション
コメント一覧
まだ、コメントがありません