
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
flashspys/nginx-static 是一款超级轻量级的 Nginx 镜像,专为静态文件服务设计。相较于官方 Nginx 镜像,该镜像体积不足 4MB(约为官方镜像的 1/10),运行时内存占用仅约 1MB,适合对资源敏感的静态文件托管场景。其核心用途是高效提供静态文件(如 HTML、CSS、JavaScript、图片等)访问服务。
通过 docker run 命令快速启动容器,将主机目录挂载到容器内 /static 目录(镜像默认静态文件根目录),并映射端口:
bashdocker run -v /绝对路径/待服务目录:/static -p 8080:80 flashspys/nginx-static
-v /绝对路径/待服务目录:/static:将主机上的静态文件目录挂载到容器内的 /static 目录(Nginx 会从该目录读取文件)。-p 8080:80:将容器内 Nginx 监听的 80 端口映射到主机的 8080 端口,外部可通过 http://主机IP:8080 访问静态文件。在 docker-compose.yaml 中定义服务,适合多容器协同场景:
yamlversion: '3' services: example.org: # 服务名称,可自定义 image: flashspys/nginx-static container_name: example.org # 容器名称,可自定义 ports: - 8080:80 # 端口映射:主机端口:容器端口(容器内固定为80) volumes: - /path/to/serve:/static # 挂载主机静态文件目录到容器/static
启动命令:docker-compose up -d
由于镜像不含 SSL 模块,需配合反向代理(如 traefik)实现 HTTPS。以下是 docker-compose.yaml 中集成 traefik 2.x 的示例:
前提条件
docker-compose.yaml,需手动创建并关联网络)。配置示例
yamlservices: traefik: image: traefik:2.4 # 建议检查是否有更新版本 # traefik 基础配置(如入口点、证书解析器等),参考官方文档 ... example.org: # nginx-static 服务 image: flashspys/nginx-static container_name: example.org expose: # 仅暴露端口给内部网络(由 traefik 转发),不直接映射主机端口 - 80 labels: # traefik 路由规则标签 - "traefik.enable=true" # 允许 traefik 发现该服务 - "traefik.http.routers.<router名称>.rule=Host(`example.org`)" # 替换 <router名称> 和域名 - "traefik.http.routers.<router名称>.entrypoints=<入口点>" # 替换 <入口点>(如 websecure) # 启用 HTTPS 时取消下方注释,替换 <certresolver>(如 letsencrypt) # - "traefik.http.routers.<router名称>.tls.certresolver=<certresolver>" volumes: - /host/path/to/serve:/static # 挂载静态文件目录
适用于前端项目(如 Node.js 构建),通过多阶段构建将产物直接复制到镜像中:
示例 Dockerfile(Node.js 应用):
dockerfile# 第一阶段:构建前端项目 FROM node:alpine AS builder WORKDIR /usr/src/app COPY . /usr/src/app RUN npm install && npm run build # 执行构建命令(如 npm run build) # 第二阶段:使用 nginx-static 运行时 FROM flashspys/nginx-static # 可选:更新系统包(如需) RUN apk update && apk upgrade # 将构建产物复制到容器静态文件目录 COPY --from=builder /usr/src/app/dist /static
构建命令:docker build -t my-static-app .
运行命令:docker run -p 8080:80 my-static-app
默认配置位于容器内 /etc/nginx/conf.d/default.conf,可通过以下方式自定义(如添加重写规则、HTTP 头):
方法 1:通过 Dockerfile 替换配置
在自定义 Dockerfile 中删除默认配置并复制自定义配置:
dockerfileFROM flashspys/nginx-static # 删除默认配置 RUN rm -rf /etc/nginx/conf.d/default.conf # 复制自定义配置(需提前准备 your-custom-nginx.conf 文件) COPY your-custom-nginx.conf /etc/nginx/conf.d/default.conf
方法 2:通过卷挂载配置
无需构建镜像,直接挂载主机配置文件覆盖默认配置:
bash# docker run 命令中添加卷挂载 docker run -v /absolute/path/to/custom.conf:/etc/nginx/conf.d/default.conf ...
或在 docker-compose.yaml 中添加:
yamlvolumes: - /path/to/custom.conf:/etc/nginx/conf.d/default.conf
/static,需通过卷挂载或多阶段构建将文件放入该目录。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务