fix: change dockerfile
Some checks failed
Laravel-Oracle-Deploy / redeploy (push) Failing after 54s

This commit is contained in:
2026-06-25 18:38:37 +08:00
parent 1b801131d2
commit ceabb9c0a2
2 changed files with 38 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
FROM php:8.2-fpm
# 1. 安裝系統必要的擴充套件Laravel 需要 zip, unzip 等才能解壓套件
# 1. 安裝系統套件(這層幾乎不變,永遠快取
RUN apt-get update && apt-get install -y \
git \
curl \
@@ -11,20 +11,23 @@ RUN apt-get update && apt-get install -y \
unzip \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# 🎯 2. 從官方 Composer 鏡像中,直接把 composer 執行檔複製進來
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# 3. 設定工作目錄
WORKDIR /var/www
# 4. 把專案檔案複製進去
# 🎯 2. 【核心魔法】只複製套件清單檔案
COPY composer.json composer.lock /var/www/
# 🎯 3. 在這裡就先執行安裝!
# 因為上面只複製了 json/lock只要你沒裝新套件這層 Docker 就會直接跳過、秒速套用快取!
RUN composer install --no-interaction --no-scripts --no-autoloader --no-dev
# 4. 最後才複製你天天在修改的 Laravel 原始碼(如 Controller、Routes
COPY . /var/www
# 🎯 5. 在容器內直接執行 composer install把 vendor 長出來!
# 加上 --no-dev 是因為生產環境不需要測試套件,速度會快非常多
RUN composer install --no-interaction --optimize-autoloader --no-dev
# 5. 補上自動載入優化
RUN composer dump-autoload --optimize --no-dev
EXPOSE 9000
# 6. 啟動 Laravel HTTP 伺服器
CMD ["php", "/var/www/artisan", "serve", "--host=0.0.0.0", "--port=9000"]