fix: change dockerfile
All checks were successful
Laravel-Oracle-Deploy / redeploy (push) Successful in 2m1s

This commit is contained in:
2026-06-25 18:08:37 +08:00
parent ecadf71666
commit 1b801131d2

View File

@@ -1,6 +1,6 @@
FROM php:8.2-fpm FROM php:8.2-fpm
# 1. 確保安裝了必要的系統套件 # 1. 安裝系統必要的擴充套件Laravel 需要 zip, unzip 等才能解壓套件)
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
git \ git \
curl \ curl \
@@ -8,19 +8,23 @@ RUN apt-get update && apt-get install -y \
libonig-dev \ libonig-dev \
libxml2-dev \ libxml2-dev \
zip \ zip \
unzip unzip \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# 2. 設定容器內的工作目錄(通常習慣用 /var/www # 🎯 2. 從官方 Composer 鏡像中,直接把 composer 執行檔複製進來
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# 3. 設定工作目錄
WORKDIR /var/www WORKDIR /var/www
# 3. 把本機當前目錄下的「所有檔案」(包含 artisan、app、routes 等)全部複製進容器的 /var/www # 4. 把專案檔案複製進去
COPY . /var/www COPY . /var/www
# 4. 安裝 Composer 依賴(如果有的話,可以加上,沒有就維持你原本的) # 🎯 5. 在容器內直接執行 composer install把 vendor 長出來!
# COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # 加上 --no-dev 是因為生產環境不需要測試套件,速度會快非常多
# RUN composer install --no-interaction --optimize-autoloader --no-dev RUN composer install --no-interaction --optimize-autoloader --no-dev
EXPOSE 9000 EXPOSE 9000
# 🎯 關鍵:在啟動前,用「絕對路徑」去執行 artisan確保一定找得到它 # 6. 啟動 Laravel HTTP 伺服器
CMD ["php", "/var/www/artisan", "serve", "--host=0.0.0.0", "--port=9000"] CMD ["php", "/var/www/artisan", "serve", "--host=0.0.0.0", "--port=9000"]