RaspberryPi3にDockerでLAMP環境を構築

RaspberryPi3にDocker(Docker Compose)でLAMP環境を作るまでのメモ。
Dockerのインストール方法はメモしてないがhypriotではなく標準のDockerを入れた。

Docker Composeのプロジェクト構成は下記のような感じ
/home/pi/docker_lamp
├─ conf -> Webアプリの設定ファイル
│ ├─ Dockerfile
│ └─ php.ini
├─ db -> MySQL関連
│ ├─ Dockerfile
│ ├─ my.cnf
│ └─ mysql_data
├─ html -> DocumentRoot
└─ docker-compose.yml

conf/Dockerfileの内容

FROM php:7-apache

RUN apt-get update && \
apt-get -y install mysql-client && \
docker-php-ext-install pdo_mysql mysqli mbstring

COPY ./php.ini /usr/local/etc/php/

conf/php.iniの内容

[Date]
date.timezone = “Asia/Tokyo”

[mbstring]
mbstring.internal_encoding = UTF-8
mbstring.language = Japanese

db/Dockerfileの内容
※MySQLの公式ではエラーになるのでhypriotを使う

FROM hypriot/rpi-mysql:latest

COPY ./my.cnf /etc/mysql/conf.d/my.cnf

db/my.cnfの内容

[mysqld]
character-set-server=utf8
datadir = /var/lib/mysql

docker-compose.ymlの内容

version: ‘3’
services:
app:
depends_on:
– db
build: ./conf
ports:
– 80:80
volumes:
– ./html:/var/www/html
links:
– db
db:
build: ./db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: database
ports:
– 3306:3306
volumes:
– ./db/mysql_data:/var/lib/mysql

docker-composeでビルドして起動。
docker-compose build
docker-compose up -d

htmlにindex.phpを用意してブラウザで開いた際にページが表示されればインストール成功。

参考サイト
Docker for MacとDocker ComposeでささっとLAMP環境を作る
Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)構築