kenken999 commited on
Commit
375d81f
·
verified ·
1 Parent(s): 06a7181

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +29 -21
Dockerfile CHANGED
@@ -1,36 +1,44 @@
1
- # 1) PHP 8.3 CLI イメージをベースにする
2
- FROM php:8.3-cli
3
 
4
- # 2) 必要な拡張やライブラリを入れる
5
  RUN apt-get update && apt-get install -y \
6
  git \
7
  unzip \
8
- libicu-dev \
9
- libzip-dev \
10
- libonig-dev \
11
- libxml2-dev \
12
- && docker-php-ext-install \
13
- pdo_mysql \
14
- mbstring \
15
- zip
16
-
17
- # 3) Composer を手動インストール
18
  RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
19
  && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
20
  && php -r "unlink('composer-setup.php');"
21
 
22
- # 4) 作業ディレクトリとソースコードをコピー
23
  WORKDIR /app
 
 
24
  COPY . /app
25
 
26
- # 5) Laravel セットアップ
27
- RUN cp .env.example .env \
28
- && composer install \
29
- && php artisan key:generate
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
- RUN chmod -R 777 storage \
32
- && chmod -R 777 bootstrap/cache \
33
- && chmod -R 777 database
34
 
 
35
  EXPOSE 8000
36
  CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]
 
1
+ FROM php:8.2-cli
 
2
 
3
+ # 1) 必要なパッケージをインストール
4
  RUN apt-get update && apt-get install -y \
5
  git \
6
  unzip \
7
+ libsqlite3-dev \
8
+ && docker-php-ext-install pdo pdo_sqlite
9
+
10
+ # 2) Composer のインストール
 
 
 
 
 
 
11
  RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
12
  && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
13
  && php -r "unlink('composer-setup.php');"
14
 
15
+ # 3) 作業ディレクトリを設定
16
  WORKDIR /app
17
+
18
+ # 4) Laravel プロジェクトをコピー
19
  COPY . /app
20
 
21
+ # 5) .env.example を .env にコピー
22
+ RUN cp .env.example .env
23
+
24
+ # (注) もし .env.example が SQLite 用に設定されていない場合、sed などで書き換える例:
25
+ # RUN sed -i "s/DB_CONNECTION=.*/DB_CONNECTION=sqlite/" .env
26
+ # RUN sed -i "s|DB_DATABASE=.*|DB_DATABASE=/app/database/database.sqlite|" .env
27
+
28
+ # 6) Composer で依存関係をインストール
29
+ RUN composer install
30
+
31
+ # 7) Laravel アプリキーを生成
32
+ RUN php artisan key:generate
33
+
34
+ # 8) SQLite 用のファイルを作成
35
+ RUN mkdir -p database \
36
+ && touch database/database.sqlite \
37
+ && chmod -R 777 database storage bootstrap/cache
38
 
39
+ # 9) マイグレーション(開発・デモ用)
40
+ RUN php artisan migrate --force || true
 
41
 
42
+ # 10) ポート公開 & 実行コマンド
43
  EXPOSE 8000
44
  CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]