Docker compose で LAMP 環境作成
LAMP とは
LAMP は、Linux、Apache、MySQL、PHP を組み合わせたオープンソースの Web アプリケーションスタックです。
Linux
オープンソースの Unix 系オペレーティングシステムです。LAMP 環境においては、Web サーバーとして Apache と連携します。
Apache
オープンソースの Web サーバーソフトウェアで、世界的に広く使われています。Apache は、静的ファイルの配信や Web アプリケーションの実行などの機能を持っています。
MySQL
オープンソースのリレーショナルデータベース管理システムです。LAMP 環境においては、Web アプリケーションのデータストレージとして使用されます。
PHP
オープンソースのスクリプト言語で、Web アプリケーションの実行に広く使われています。LAMP 環境においては、Web アプリケーションの開発に使用されます。
作成する LAMP docker compose の全体構造
- db
- Dockerfile
- my.cnf
- docker-entrypoint-initdb.d
- data
- 01_create_databasess.sql
- web
- Dockerfile
- php.ini
- vhost.conf
- html
- docker-compose.yml
コンテナ立ち上げ後 db ディレクトリの下に database ディレクトリが作成されます。
docker-compose ファイル作成
環境
- Docker Compose 3.x
- Docker Engine 19.03.0+
docker-compose.yml
database コンテナ Dockerfile 設定
db/Dockerfile
Mysql 設定ファイル
db/my.cnf
web コンテナ Dockerfile 設定
web/Dockerfile
PHP 設定 ini ファイル
web/php.ini
Apache virtualHost 設定
web/vhost.conf
テスト用の index ページを作成
html/index.php
コンテナ立ち上げ
docker-compose up
が実行されたときに、Compose はアプリケーション全体を起動・実行し、以前にコンテナ build したことがあれば、そのコンテナから新しいコンテナにボリュームコピーします。