Files
x-server-mobile/deploy/Dockerfile.prod
T
root 4ceb5eac7e chore: 重组项目文件结构,文档和部署文件归档
文件结构优化:
- docs/ 归档所有项目文档(PROJECT.md, PROJECT_ISSUES.md 等)
- deploy/ 归档所有部署相关文件(docker-compose.prod.yml, nginx 配置等)
- scripts/ 归档脚本文件(deploy.sh, rollback.sh)
- tests/ 归档测试文件(test_data.php)

更新引用路径:
- CLAUDE.md 更新文档路径引用
- 部署文档更新配置文件路径引用

清理文件:
- 移除非必要的测试文件(TestController, 测试脚本等)
- 移除重复/错误的目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:01:17 +08:00

62 lines
1.2 KiB
Docker

# 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"]