docker
This commit is contained in:
35
Dockerfile
Normal file
35
Dockerfile
Normal file
@ -0,0 +1,35 @@
|
||||
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"]
|
||||
Reference in New Issue
Block a user