LoginSignup
5
3

More than 1 year has passed since last update.

【お手軽】DockerでFuelPHPを使いたい方へ

Last updated at Posted at 2023-04-04

TL;DR

  • composerを使います(composer無しの時のverだと若干辛いので)
  • お手軽にFuelPHPを弄りたい方向け

前置き

  • FuelPHPで実装されたソースコードをローカルで動かす機会があった
  • DockerでFuelPHPの環境構築をした時の内容をまとめてみた

ディレクトリ構成

fuel-app : アプリケーション
docker/fuel-app : buildや起動時に使うファイル
compose.yaml : アプリケーションサービスの設定ファイル

.
├── docker/
│   └── fuel-app/
│       ├── Dockerfile
│       └── php.ini
├── fuel-app/
└── compose.yaml

Dockerfile

composerをマルチステージビルドを利用して使えるようにする

docker/fuel-app/Dockerfile
FROM php:5.6-alpine

COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer

php.ini

最低限タイムゾーンのみ設定します

docker/fuel-app/php.ini
[Date]
date.timezone = "Asia/Tokyo"

compose.yaml

compose.yaml
version: "3"

services:
  fuel-app:
    build:
      context: .
      dockerfile: ./docker/fuel-app/Dockerfile
    volumes:
      - ./docker/fuel-app/php.ini:/usr/local/etc/php/php.ini
      - ./fuel-app:/var/www
    working_dir: /var/www
    ports:
      - "8080:8080"
    command: "php -S 0.0.0.0:8080 -t public"

やってみよう

注意
コマンドはcompose.yamlがある階層で実行する

1. build

$ docker compose build

2. composer create-project

$ docker compose run -u "$(id -u):$(id -g)" --rm fuel-app composer create-project fuel/fuel --prefer-dist .

実行後は以下のようになる

スクリーンショット 2023-04-04 22.59.41.png

3. run

$ docker compose up -d

localhost:8080 でサーバーが立ち上がっているのでブラウザで確認する

image.png

参考

FuelPHP Documentation

リポジトリ

5
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
5
3