ディレクトリ構造

この配布物では、Dockerコンテナの組み合わせ(compose)により、以下の機能を提供するコンテナ群を生成します。

  • PHP入りのWebサーバー

  • データベース(MySQL)

    • 開発時はphpMyAdminによるWebアクセスが追加されている

最低限必要なもの

  • public/

    • 静的コンテンツの配置場所

    • ここに置いたものがブラウザでアクセス可能

  • compose.yml

    • 環境ビルドに使うファイルです

      • mainブランチの場合はPHP入りWebサーバーが起動する

      • dbブランチの場合はPHP入りWebサーバーとMySQLが起動する

  • env.txt

    • 環境変数定義ファイル

    • KEY=VALUE形式

    • compose.yml から参照され、各コンテナで利用可能

    • データベースを使わない場合は消してかまいません

  • env-pma.txt

    • 開発時にphpMyAdminによるGUIデータベース操作時に参照される環境変数定義ファイル

    • 基本的にいじる必要は無いが、phpMyAdminにだけ作用させたい変数がある場合は追記が必要

    • データベース使わない場合は消してかまわない

  • db/

    • データベースの初期化に使うデータ置場

    • 初回起動の際にデータベースを初期化したいときはここにSQLテキストなどを配置する

    • データベースを使わない場合は消しても問題ない

  • .devcontainer

    • 開発コンテナによる環境構築で使う構成ファイルです、基本的にいじらず使用する

    • main(開発環境) 普段はこちらで開発環境に入ってください

    • test(テスト環境)

他のものはあまり気にしないでください。

データベースを使用しない場合

データベースを使わない(HTML+PHP)コードの場合は、データベース部分は不要となるので、以下のものは消してかまいません。 放置しても特に問題ありませんが、開発コンテナ起動時に無駄にコンテナをつくるため起動が少し遅くなってしまいます。

  • env.txt

  • env-pma.txt

  • dbディレクトリ

また、compose.ymlファイルを書き換えてデータベースの起動を抑制するといいでしょう。 下記の14行目(db:)以降を消すか、コメントアウト(#)してください。

compose.yml
 1services:
 2  web:
 3    image: ghcr.io/densuke-st/xampp-devenv:20250530233720
 4    # build: build/
 5    # 2025/5/28以降 ビルド用のデータはこのリポジトリには含まれておりません
 6    #  -> https://github.com/densuke-st/xampp-devenv-image-docker
 7    #build: env
 8    volumes:
 9      - ./public:/var/www/html:cached
10      - .:/app:cached
11    env_file:
12      - env.txt
13
14  db:
15    image: ghcr.io/densuke/mysql:1748379755
16    #build: db/build
17    env_file:
18      - env.txt
19    volumes:
20      - db_data:/var/lib/mysql
21      - ./db:/docker-entrypoint-initdb.d
22    healthcheck:
23      test: ["CMD", "/usr/local/bin/healthcheck.sh"]
24      interval: 30s
25      timeout: 5s
26      retries: 5
27      start_period: 5s
28
29
30volumes:
31  db_data:
32