Help us understand the problem. What is going on with this article?

Docker pull commit push Dockerfile WordPress環境をつくる~Docker Compose~

More than 1 year has passed since last update.

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
docker-compose.yml
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
.env
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コマンドの詳細は、こちら!!

参考サイト

ap-com
エーピーコミュニケーションズは「エンジニアから時間を奪うものをなくす」ため、ITインフラ自動化のプロフェッショナルとして、クラウドも含めたインフラ自動化技術で顧客の課題を解決すると同時に、SI業務の課題を解決するプロダクト・サービスを提供するNeoSIer(ネオエスアイヤー)です。
https://www.ap-com.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away