Docker pull commit push Dockerfile WordPress環境をつくるでは、一つのコンテナーにApache、MySQLをインストールする形式でしたが、Docker Composeを利用すると、ApacheとMySQLのコンテナーをそれぞれ作成し、連携することが簡単に行えます。
中小規模のコンテナーシステムにおいて、WEB、APP、DB等の役割に分けてコンテナーを作成する場合に便利なので、WordPressコンテナーとMySQLコンテナーを分けて、連携するDocker Composeの入門をやってみたいと思います。
Docker pull commit push Dockerfile WordPress環境をつくるの続きですので、環境は以下同じです。
環境:VirtualBoxの仮想マシン上にCentOS7を初期インストールまたはパブリッククラウドでCentOS7のインスタンスを準備
Dockerのインストール
1.Dockerのインストール
# yum -y install docker
yumでDockerをインストールする場合は、OSのディストリビューションのリポジトリにあるDockerバージョンとなる。
最新のDockerをインストールする場合は、以下のコマンドを実行。
※2017年2月以下のコマンドで最新のDockerをインストールするとDockerビルド中エラーとなるので、本ページでは、yumのインストールで行ってください。
# curl -fsSL https://get.docker.com/ | sh
2.Dockerの自動起動設定及びサービスの起動
# systemctl enable docker.service
# systemctl start docker.service
3.Dockerのバージョンを確認
# docker version
4.システム情報の確認
# docker info
Docker Composeのインストール
1.Docker Composeのインストール
# curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose# docker ps -a
ダウンロードしたバイナリに対して実行権限を追加します。
# chmod +x /usr/local/bin/docker-compose
Docker Composeのバージョンを確認して、インストールができたことを確認してみます。
# docker-compose -v
docker-compose version 1.9.0, build 2585387
docker-compose.ymlファイルの作成
1.docker-compose.ymlファイルの作成
# vim docker-compose.yml
ファイル内容は事項参照
:wq
version: '2'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
env_file: .env
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
env_file: .env
volumes:
db_data:
docker-compose.ymlの詳細は、こちら!!
2..envファイルの作成
WordPressとMySQLは公式のイメージを使用します。WordPressとMySQLのDB設定は、.envファイルを作成して、読み込むようにします。
# vim .env
ファイル内容は事項参照
:wq
MYSQL_ROOT_PASSWORD=somewordpress
MYSQL_DATABASE=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpress
WORDPRESS_DB_USER=wordpress
WORDPRESS_DB_PASSWORD=wordpress
WordpressコンテナーとMySQLコンテナーの起動
1.WordpressコンテナーとMySQLコンテナーの起動
-dオプションを付けてコンテナーをバックグラウンドでの起動する必要があります。
# docker-compose up -d
「http://VirtualBoxのIPアドレス:8080/」にアクセスし、WordPressの管理画面が表示されることを確認します。
2.主なdocker-composeコマンド
主なdocker-composeコマンドは以下となります。
コマンド | 説明 |
---|---|
up | コンテナーの生成/起動 |
down | 全てのコンテナーの停止と同時削除 |
scale | 生成するコンテナー数の指定 |
ps | コンテナーの一覧表示 |
logs | コンテナーログの出力 |
run | コンテナーの実行 |
start | コンテナーの起動 |
stop | コンテナーの停止 |
restart | コンテナーの再起動 |
kill | 実行中コンテナーの強制停止 |
rm | コンテナーの削除 |
docker-composeコマンドの詳細は、こちら!!
参考サイト