Files
x-server-mobile/deploy/Dockerfile.prod
T

62 lines
1.2 KiB
Docker
Raw Normal View History

# X-Server Mobile 生产环境 Dockerfile
# 基于官方 PHP 8.5 CLI 镜像
FROM php:8.5-cli
# 安装系统依赖
RUN apt-get update && apt-get install -y \
unzip \
git \
libzip-dev \
libpng-dev \
libonig-dev \
curl \
&& rm -rf /var/lib/apt/lists/*
# 安装 PHP 扩展
RUN docker-php-ext-install \
zip \
pdo \
pdo_mysql \
bcmath \
pcntl \
opcache \
mbstring
# 安装 Composer
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
# 设置工作目录
WORKDIR /app
# 复制 composer 文件
COPY composer.json composer.lock* ./
# 安装依赖(生产环境)
RUN composer install \
--no-dev \
--optimize-autoloader \
--no-interaction \
--no-progress
# 复制应用文件
COPY . .
# 复制 PHP 生产环境配置
COPY php-prod.ini /usr/local/etc/php/conf.d/99-production.ini
# 创建运行时目录
RUN mkdir -p /app/runtime/logs \
&& mkdir -p /app/runtime/cache \
&& chmod -R 755 /app/runtime
# 暴露端口
EXPOSE 8787
# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD php -r "exit(0);" || exit 1
# 启动 Webman(前台运行)
CMD ["php", "start.php", "start"]