
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Web Client Application 镜像是一个预配置的容器化解决方案,用于快速部署前端Web应用(如单页应用SPA、静态网站等)。该镜像基于轻量级基础镜像构建,集成高效Web服务器,优化静态资源服务能力,支持多环境配置和灵活部署。
方式1:从镜像仓库拉取(推荐)
bashdocker pull [镜像仓库地址]/web-client-app:latest # 替换为实际镜像仓库地址
方式2:本地构建
若需基于源码构建,可使用以下Dockerfile(见4.6节“多阶段构建示例”)。
最简启动(默认配置)
bashdocker run -d -p 8080:80 --name web-client-app [镜像仓库地址]/web-client-app:latest
http://localhost:8080 即可打开应用。指定自定义端口
bashdocker run -d -p 3000:8080 \ # 宿主机3000端口映射到容器8080端口 -e PORT=8080 \ # 设置容器内Web服务器监听端口 --name web-client-app [镜像仓库地址]/web-client-app:latest
若需修改Nginx配置(如跨域规则、路由重写、SSL配置等),可通过挂载配置文件覆盖默认配置:
bashdocker run -d -p 8080:80 \ -v /本地路径/nginx.conf:/etc/nginx/conf.d/default.conf \ # 挂载自定义Nginx配置 --name web-client-app [镜像仓库地址]/web-client-app:latest
示例Nginx配置(nginx.conf):
nginxserver { listen 80; server_name localhost; # 静态资源目录(镜像内固定路径) root /usr/share/nginx/html; index index.html; # SPA路由支持(前端路由模式下避免404) location / { try_files $uri $uri/ /index.html; } # 跨域配置示例 location /api/ { proxy_pass http://backend-api:8080/; add_header 'Access-Control-Allow-Origin' '*'; } # 静态资源缓存策略 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 1y; add_header Cache-Control "public, max-age=31536000"; } }
通过环境变量注入动态参数(如后端API地址、运行环境等),镜像启动时会自动替换前端资源中的占位符(需前端构建时预留变量名,如__API_BASE_URL__)。
常用环境变量
| 变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
PORT | Web服务器监听端口 | 80 | 8080 |
API_BASE_URL | 后端API基础地址 | http://localhost:3000 | https://api.example.com |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | debug |
CACHE_CONTROL | 静态资源缓存策略 | "public, max-age=86400" | "no-cache" |
使用示例
bashdocker run -d -p 8080:80 \ -e API_BASE_URL=https://api.prod.example.com \ # 生产环境后端API地址 -e LOG_LEVEL=warn \ # 仅输出警告及以上日志 --name web-client-app [镜像仓库地址]/web-client-app:latest
创建 docker-compose.yml 文件,定义多服务协同部署(如前端+后端API):
yamlversion: '3.8' services: web-client: image: [镜像仓库地址]/web-client-app:latest ports: - "80:80" # 宿主机80端口映射到容器80端口 environment: - API_BASE_URL=http://backend-api:3000 # 后端服务地址(容器网络内域名) - LOG_LEVEL=info depends_on: - backend-api # 依赖后端服务启动 restart: unless-stopped # 异常退出后自动重启 backend-api: image: [后端API镜像地址]:latest ports: - "3000:3000" restart: unless-stopped
启动命令:
bashdocker-compose up -d
若需基于前端源码构建镜像,可使用多阶段构建优化镜像体积(以React应用为例):
项目结构:
my-spa/ ├── Dockerfile ├── package.json ├── src/ └── public/
Dockerfile:
dockerfile# 阶段1:构建前端产物(基于Node.js) FROM node:18-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm install # 安装依赖 COPY . . RUN npm run build # 构建静态产物(输出到./build目录) # 阶段2:生成运行时镜像(基于Nginx Alpine) FROM nginx:alpine # 复制构建产物到Nginx静态目录 COPY --from=builder /app/build /usr/share/nginx/html # 复制自定义Nginx配置(可选) COPY nginx.conf /etc/nginx/conf.d/default.conf # 暴露端口 EXPOSE 80 # 启动Nginx CMD ["nginx", "-g", "daemon off;"]
构建命令:
bashdocker build -t my-web-client:v1.0 .
| 参数类型 | 配置项 | 说明 | 默认值 |
|---|---|---|---|
| 容器运行参数 | --port/-p | 宿主机与容器端口映射 | 80(容器内) |
| 容器运行参数 | --volume/-v | 挂载外部文件/目录(如配置、静态资源) | 无 |
| 环境变量 | PORT | 容器内Web服务器监听端口 | 80 |
| 环境变量 | API_BASE_URL | 前端API请求基础地址 | http://localhost:3000 |
镜像启动时,通过 envsubst 工具替换前端资源中的环境变量占位符(需前端构建时预留)。例如:
window.API_BASE_URL = '${API_BASE_URL}'API_BASE_URL 的值会自动替换 ${API_BASE_URL} 占位符host.docker.internal 作为宿主机域名(仅Docker Desktop支持)/etc/nginx/ssl)并修改Nginx配置启用HTTPSWeb Client Application 镜像提供了开箱即用的前端应用容器化方案,通过轻量级设计、灵活配置和标准化部署流程,简化了前端应用的交付和运维成本。适用于从开发测试到生产环境的全流程使用,支持静态网站、SPA等多种前端应用类型。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务