站点:纯静态 HTML + CSS + 原生 JS,零框架零构建
页面:首页 / 合作品牌 / 荣誉资质 / 客户案例 / 关于我们
内容:
- site/ 站点本体(含已压缩 webp 图片,约 4.8 MB)
- deploy/ Docker Compose / Caddy / Apache 部署配置
- _tools/ 开发自检脚本与部署脚本
- Dockerfile 自建 nginx 镜像方案
- README.md 项目文档
设计:品牌黄 #ffc107 + 白,深蓝仅用于页脚;菜单长期置顶;
交互动效只加在关键词与区块级元素上。
素材说明:原始素材(背景图/老网站/方案/荣誉资质/合作品牌,约 290 MB)
未纳入版本控制,站点使用的是 site/assets 内已处理压缩的图片。
40 lines
1.8 KiB
Docker
40 lines
1.8 KiB
Docker
# ==============================================================================
|
|
# 上海炫恒网络系统有限公司 官网 —— 生产镜像
|
|
# 基础镜像:nginx (alpine),最终镜像约 30 MB
|
|
# 构建: docker compose build
|
|
# ==============================================================================
|
|
FROM nginx:1.27-alpine
|
|
|
|
LABEL org.opencontainers.image.title="xuanheng-website" \
|
|
org.opencontainers.image.description="上海炫恒网络系统有限公司 官方网站(静态站点)" \
|
|
org.opencontainers.image.vendor="上海炫恒网络系统有限公司" \
|
|
org.opencontainers.image.licenses="Proprietary"
|
|
|
|
# ---- 1) 站点文件 ----------------------------------------------------------
|
|
# 站点根目录就是 site/,页面之间全部使用同级相对路径
|
|
COPY site/ /usr/share/nginx/html/
|
|
|
|
# ---- 2) Nginx 站点配置 ----------------------------------------------------
|
|
RUN rm -f /etc/nginx/conf.d/default.conf
|
|
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# ---- 3) 构建期自检 --------------------------------------------------------
|
|
# 五个页面和入口资源必须存在,否则构建直接失败,避免把半成品镜像推上线
|
|
RUN set -eux; \
|
|
for f in index.html brands.html honors.html cases.html about.html \
|
|
assets/css/main.css assets/js/main.js favicon.ico; do \
|
|
test -f "/usr/share/nginx/html/$f" || { echo "缺少站点文件: $f"; exit 1; }; \
|
|
done; \
|
|
nginx -t
|
|
|
|
# ---- 4) 运行 --------------------------------------------------------------
|
|
EXPOSE 80
|
|
|
|
# 健康检查:访问 /healthz,返回 200 即视为健康
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
CMD wget -q -O /dev/null http://127.0.0.1/healthz || exit 1
|
|
|
|
STOPSIGNAL SIGQUIT
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|