ようへいの日々精進XP

よかろうもん

Docker Compose チュートリアル(1) ~ Docker Compose で Wordpress 環境をサッと起動してみる ~

ども、かっぱです。

tl;dr

Docker Compose を利用して Wordpress 環境をサッと立ち上げてみる。

docs.docker.com


参考

2 つめの参考リンクは @zembutsu さんが中心にまとめられている Docker ドキュメントの日本語訳サイト。本当に有り難い。


チュートリアル

教材

github.com

Docker のバージョン確認

Docker Compose を利用するには Docker Engine 1.7.1 以上が必要になる。

$ docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   c3959b1
 Built:        Mon Feb 22 21:37:01 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   c3959b1
 Built:        Mon Feb 22 21:37:01 2016
 OS/Arch:      linux/amd64

Docker compose のインストール

以下のように Docker Compose をインストールする。

$ sudo sh -c "curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
$ sudo chmod 755 /usr/local/bin/docker-compose

バージョンを確認。3/9 時点で 1.6.2 が最新のようだ。

$ docker-compose version
docker-compose version 1.6.2, build 4d72027
docker-py version: 1.7.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013

Wordpress のダウンロードと展開

$ mkdir oreno-wp
$ cd oreno-wp
$ wget https://ja.wordpress.org/wordpress-4.4.2-ja.tar.gz
$ tar zxvf wordpress-4.4.2-ja.tar.gz
$ rm wordpress-4.4.2-ja.tar.gz

wp-config.php の編集

$ cd wordpress
$ mv wp-config-sample.php wp-config.php
$ vim wp-config.php
  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

をそれぞれ上以下のように編集する。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'wordpress');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'root');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'wordpress');

/** MySQL のホスト名 */
define('DB_HOST', 'db:3306');

あくまでもチュートリアルなのでパスワードは簡易的な設定だが、ちゃんと運用したい(と思うかわからないけど)場合には適切なパスワードを設定すること。

docker-compose.yml の編集

docker-compose.yml は以下のように。(参考にしたドキュメントから少しアレンジを加えている)

version: "2"
services:
  web:
    build: .
    command: php -S 0.0.0.0:80 -t /code/wordpress/
    ports:
      - "8080:80"
    depends_on:
      - db
    volumes:
      - .:/code
  db:
    image: mysql:5.6
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_ROOT_PASSWORD: wordpress

詳細についてはこちらのリファレンスを。

Dockerfile の作成

Dockerfile は以下のように。

FROM php:5.6-apache
RUN apt-get update && \
  docker-php-ext-install pdo_mysql mysqli mbstring
ADD . /code

docker-compose up

$ docker-compose up

以下のように出力されてコンテナが起動する。

f:id:inokara:20160309224209p:plain

コンテナが起動したらブラウザから Wordpress のセットアップを行う。

Wordpress のセットアップ

ユーザー名とパスワード等の必要な情報を入力して Wordpress のセットアップを進める。

f:id:inokara:20160309222053p:plain

後は好きなだけ記事を書くことにしましょう。

f:id:inokara:20160309223508p:plain


以上

Docker Compose を使うことで Wordpress 環境(Web アプリケーションとデータベースをセットで)を立ち上げることが出来た。とっても簡単。