Docker ComposeでWordPress環境を作る

手順をコード化して手軽に構築する

kaoru · 2017.09.05
 

Dockerについて

WEB環境をつくる・消す・移動するを簡単に行うことができる。仮想サーバのようで、仮想サーバではなく、仮想サーバ上のOSが必要とするメモリやディスクリソースを必要としないため、軽量。手順をコード化すれば、自動化によって手作業によるミスも軽減され、効率的かつ正確に作業を行える。

やること

01.Docker Composeの設定ファイルで手順をコード化

02.実際に実行して起動を確認

03.コンテナとローカルを同期してコンテナ内を編集

     

前提条件

Dockerインストールされている

Docker Composeインストールされている

MacにDocker環境を構築する

01.Docker Composeの設定ファイル作成

ターミナルを起動し、任意のディレクトリ下へ移動する。

cd web

設定ファイルを作成する。

vim docker-compose.yml

入力モードに切り替える。

以下をコピーして、さきほど作成したdocker-compose.ymlファイルに貼り付ける。

  • version: ‘3’
  • services:
  • db:
  • image: mysql:latest
  • volumes:
  • db_data:/var/lib/mysql
  • restart: always
  • environment:
  • MYSQL_ROOT_PASSWORD: kaoru
  • MYSQL_DATABASE: wordpress
  • MYSQL_USER: wordpress
  • MYSQL_PASSWORD: wordpress
  • wordpress:
  • depends_on:
  • db
  • image: wordpress:latest
  • ports:
  • “7000:80”
  • restart: always
  • environment: always
  • WORDPRESS_DB_HOST: db:3306
  • WORDPRESS_DB_USER: wordpress
  • WORDPRESS_DB_PASSWORD: wordpress
  • volumes:
  • db_data:

編集を終了する。

保存して閉じる

02. Docker Composeを実行して起動確認

以下のコマンドを実行する。

docker-compose up -d

WordPress環境の作成は、これで完了。Webブラウザから「http://localhost:7000」にアクセスしてみる。

ちゃんと、WordPress初期設定画面が表示された。

03. デザインを編集できるようにする

デザインを編集するにはコンテナ内にアクセスする必要がある。Dockerのボリューム機能は、WordPressコンテナとローカルのディレクトリを同期させることができるので、追加する。

まず、ローカルのディレクトリを作成する。

mkdir -m 777 themes

先ほど作成したdocker-compose.ymlにボリューム機能の文を追加する。

  • version: ‘3’
  • services:
  • db:
  • image: mysql:latest
  • volumes:
  • db_data:/var/lib/mysql
  • restart: always
  • environment:
  • MYSQL_ROOT_PASSWORD: kaoru
  • MYSQL_DATABASE: wordpress
  • MYSQL_USER: wordpress
  • MYSQL_PASSWORD: wordpress
  • wordpress:
  • depends_on:
  • db
  • image: wordpress:latest
  • volumes:
  • ./themes:/var/www/html/wp-content/themes
  • ports:
  • “7000:80”
  • restart: always
  • environment: always
  • WORDPRESS_DB_HOST: db:3306
  • WORDPRESS_DB_USER: wordpress
  • WORDPRESS_DB_PASSWORD: wordpress
  • volumes:
  • db_data:

以下を実行で、再起動できる。

docker-compose restart

Webブラウザから「http://localhost:7000」にアクセスしてみる。

お試し用のWordPressテンプレート「Bones(骨)」を追加したので、Bonesのテーマが表示されている。

Image Description

この記事を書いたひと:kaoru

ぬるま湯に浸かる人生を嫌い日々黒い画面に向き合う。
ルーティンワークに弱いが、クライアントの悩みを解決するテクノロジーには真っ向立ち向かう。
日が出ている時間に飲むことに憧れる。

All author posts

Note|おすすめ記事