diff --git a/Dockerfile b/Dockerfile index acc8043..5cb2b98 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,14 +8,14 @@ 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 && \ +# 安装时区数据并给脚本添加可执行权限 +RUN apk add --no-cache tzdata && \ + 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 +# 设置权限:app 目录可写,内部文件只读,runtime 目录可写 +RUN chmod 755 /app && \ + chmod -R 555 /app/* && \ + chmod -R 755 /app/runtime # 复制 crontab 配置并安装 COPY docker/crontab /tmp/crontab RUN cat /tmp/crontab && \ diff --git a/docker-compose.yml b/docker-compose.yml index 5b05c58..a431a1b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,23 +1,31 @@ version: '3.8' services: - web: - build: . - container_name: weipan_web - ports: - - "8080:80" - volumes: - - runtime_data:/app/runtime + weipan02: + container_name: weipan02 + image: gits.boolcdn.net/weipan_server:25.10.31 environment: + - SERVER_DATE_TIMEZONE=Asia/Shanghai # 数据库配置(用于生成 .env 文件) - - database_hostname=10.100.100.88 + - database_hostname=10.0.0.1 - database_database=0302-2 - database_username=0302-2 - database_password=0302-2 - database_charset=utf8mb4 - - database_hostport=65306 - network_mode: host - restart: unless-stopped - -volumes: - runtime_data: + - database_hostport=3306 + ports: + - "8080:80" + volumes: + - /www/docker/weipan02/_runtime:/app/runtime + - /www/docker/weipan02/_upload:/app/public/upload + networks: + - docker + restart: always + deploy: + resources: + limits: + cpus: "0.25" + memory: 8gb +networks: + docker: + external: true \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index b5d4721..e6098ef 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,6 +1,15 @@ #!/bin/sh set -e +cp /usr/share/zoneinfo/${SERVER_DATE_TIMEZONE:-Asia/Shanghai} /etc/localtime + +echo "${SERVER_DATE_TIMEZONE:-Asia/Shanghai}" > /etc/timezone + +# 动态设置 PHP_DATE_TIMEZONE 与 SERVER_DATE_TIMEZONE 保持一致(运行时生效) +export PHP_DATE_TIMEZONE=${SERVER_DATE_TIMEZONE:-Asia/Shanghai} + +date + # 根据环境变量生成 .env 文件 cat > /app/.env < /etc/timezone - -# 动态设置 PHP_DATE_TIMEZONE 与 SERVER_DATE_TIMEZONE 保持一致(运行时生效) -export PHP_DATE_TIMEZONE=${SERVER_DATE_TIMEZONE:-Asia/Shanghai} - -date - # 执行原始镜像的入口点(webdevops 镜像使用 supervisord) exec /entrypoint supervisord