4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerを用いた簡単なPHP,MySQLの環境構築

Posted at

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の開発環境を構築する方法について説明しました。
私自身まだ未熟者ですので、間違っている点などございましたらご指摘いただけると嬉しいです。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?