Dockerを使ってPHPとMySQLの開発環境を構築する
はじめに
この記事では、Dockerを使用してPHPとMySQLの開発環境を構築する方法について説明します。この記事を通じて、Dockerを用いたPHP,MySQL開発環境の構築方法を理解できることを目指しています。
対象者
- Dockerを使ってPHP、MySQLの環境構築をしてみたい人
- Dockerについてなんとなく知ってはいるが、使い方がわからない人
バージョン情報
本記事で使用する技術のバージョンは以下の通りです。
- PHP 7.4
- MySQL 5.7
事前準備
まず、Dockerがインストールされていない場合は、公式サイトからダウンロードしてインストールしてください。
ディレクトリ構成
今回の開発環境のディレクトリ構成は以下のようになります。
myapp/
├ src/index.php
├ docker/
│ ├ db/
│ │ └ Dockerfile
│ └ web/
│ └ Dockerfile
└ docker-compose.yml
各ファイルのソースコード
各ファイルのソースコードは以下の通りです。
db/Dockerfile
FROM mysql:5.7
ENV MYSQL_DATABASE=任意の名前
ENV MYSQL_ROOT_PASSWORD=任意のパス
web/Dockerfile
FROM php:7.4-apache
RUN docker-php-ext-install pdo_mysql
docker-compose.yml
version: "3"
services:
db:
build: ./docker/db
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 任意のパス
MYSQL_DATABASE: 任意の名前
MYSQL_USER: 任意の名前
MYSQL_PASSWORD: 任意のパス
networks:
- 任意のネットワーク名
web:
build: ./docker/web
ports:
- "8000:80"
volumes:
- ./src:/var/www/html
depends_on:
- db
networks:
- 任意のネットワーク名
volumes:
db_data:
networks:
任意のネットワーク名:
driver: bridge
index.php
この中身は任意のもので構いません
環境構築の手順
以下の手順でDockerを起動して環境構築を行います。
まず、上記のファイルを作成し、以下のコマンドを実行します。
docker-compose up -d
これでコンテナが立ち上がりました。
localhost:8000に接続してindex.phpにアクセスできたら成功です。
下記のコマンドでコンテナを終了します。
docker-compose down
あとがき
この記事では、Dockerを使用してPHPとMySQLの開発環境を構築する方法について説明しました。
私自身まだ未熟者ですので、間違っている点などございましたらご指摘いただけると嬉しいです。