diff --git a/Dockerfile b/Dockerfile index 3b63522..7ada541 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,26 @@ -FROM php:8.2-fpm-alpine +FROM php:8.2-fpm -# 安裝 Laravel 必要的延伸套件 (包含 PostgreSQL 驅動) -RUN apk add --no-cache \ - libjpeg-turbo-dev \ - libpng-dev \ - libwebp-dev \ - freetype-dev \ - libzip-dev \ - zip \ - unzip \ +# 1. 確保安裝了必要的系統套件 +RUN apt-get update && apt-get install -y \ git \ - postgresql-dev \ - && docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \ - && docker-php-ext-install -j$(nproc) gd pdo pdo_pgsql zip bcmath + curl \ + libpng-dev \ + libonig-dev \ + libxml2-dev \ + zip \ + unzip -# 複製 Composer -COPY --from=composer:latest /usr/bin/composer /usr/bin/composer - -# 設定工作目錄 +# 2. 設定容器內的工作目錄(通常習慣用 /var/www) WORKDIR /var/www -# 複製專案檔案 -COPY . . +# 3. 把本機當前目錄下的「所有檔案」(包含 artisan、app、routes 等)全部複製進容器的 /var/www +COPY . /var/www -# 安裝 PHP 套件 -RUN composer install --no-interaction --optimize-autoloader --no-dev - -# 設定目錄權限 -RUN chown -R www-data:www-data /var/www/storage /var/www/bootstrap/cache +# 4. 安裝 Composer 依賴(如果有的話,可以加上,沒有就維持你原本的) +# COPY --from=composer:latest /usr/bin/composer /usr/bin/composer +# RUN composer install --no-interaction --optimize-autoloader --no-dev EXPOSE 9000 -CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=9000"] \ No newline at end of file + +# 🎯 關鍵:在啟動前,用「絕對路徑」去執行 artisan,確保一定找得到它! +CMD ["php", "/var/www/artisan", "serve", "--host=0.0.0.0", "--port=9000"] \ No newline at end of file