Files
weipan02_server/Dockerfile
2025-10-31 01:21:31 +08:00

36 lines
1.2 KiB
Docker

FROM webdevops/php-nginx:7.2-alpine
# 设置工作目录
WORKDIR /app
# 复制项目文件
COPY . /app
# 复制 Nginx 配置文件
COPY docker/nginx/enable-php.conf /opt/docker/etc/nginx/enable-php.conf
COPY docker/nginx/vhost.conf /opt/docker/etc/nginx/vhost.conf
# 复制自定义 entrypoint 脚本
COPY docker/entrypoint.sh /usr/local/bin/custom-entrypoint.sh
# 给脚本添加可执行权限
RUN chmod +x /app/public/start.sh && \
chmod +x /usr/local/bin/custom-entrypoint.sh
# 设置项目文件为只读权限(除 runtime 目录外)
RUN chmod -R 555 /app
# 设置 runtime 目录和 .env 文件位置为可写权限
RUN chmod -R 755 /app/runtime && \
chmod 755 /app
# 复制 crontab 配置并安装
COPY docker/crontab /tmp/crontab
RUN cat /tmp/crontab && \
crontab -u application /tmp/crontab && \
crontab -u application -l && \
rm /tmp/crontab
# 设置环境变量
ENV WEB_DOCUMENT_ROOT=/app/public \
PHP_DISPLAY_ERRORS=0 \
PHP_MEMORY_LIMIT=256M \
PHP_MAX_EXECUTION_TIME=300 \
PHP_POST_MAX_SIZE=50M \
PHP_UPLOAD_MAX_FILESIZE=50M
# 声明容器对外暴露的端口
EXPOSE 80
# 设置自定义 entrypoint
ENTRYPOINT ["/usr/local/bin/custom-entrypoint.sh"]