Kodingを利用して、Docker-Composeで WordPressをインストールしてみました。
Kodingに Stackと VMを作るところは省略。
docker, docker-composeをインストール
apt-getでは、最新版が入らないと言うことで、以下のエントリーを参考に最新版をインストール。
sudo su -
wget -qO- https://get.docker.com/ | sh
docker version
curl -L https://github.com/docker/compose/releases/download/1.7.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
docker-compose.ymlファイルを作成
ファイルを作成して、以下の内容を書き込む。
version: '2'
services:
db:
image: mysql:5.7
volumes:
- "./.data/db:/var/lib/mysql"
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
links:
- db
ports:
- "80:80"
volumes:
- ./wordpress:/var/www/html
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
docker-composeを起動する
以下のコマンドで、docker-composeを起動する。
sudo docker-compose up -d
これで、Dockerが起動して 80番ポートで WordPressが起動します。「wordpress」フォルダが作成され、このファイルと同期されます。
パーミッションを変更
インストールされた WordPressは「www-data/www-data」ユーザーで作成されるため、そのままでは Kodingで編集できません。そのため、必要に応じてパーミッションを変更します。
chmod 777 -R wordpress/wp-content/themes
※ 他にも必要な場所があるかも
IPを調べる
VMの設定を確認するか、以下のコマンドで IPアドレスを調べる。
curl inet-ip.info
後はブラウザーに、IPアドレスを入れれば WordPressが見られます。
課題
おそらくこの状態だと、VMを落としたときにIPが変わってしまうので、別途 Elastic IPなどを使って IPを固定する必要がありそう。