You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.6 KiB

Docker 发布指南

本文档说明如何将 MarketingSite 项目打包为 Docker 镜像并部署。

前置要求

  • Docker 已安装并运行
  • 项目依赖已安装(yarn install

构建 Docker 镜像

方法1: 使用 Docker 命令

site 目录下执行:

cd site
docker build -t marketing-site:latest .

方法2: 使用 docker-compose

site 目录下执行:

cd site
docker-compose build

运行容器

方法1: 使用 Docker 命令

docker run -d -p 3000:3000 --name marketing-site marketing-site:latest

方法2: 使用 docker-compose

cd site
docker-compose up -d

容器启动后,访问 http://localhost:3000

查看日志

docker logs -f marketing-site

或使用 docker-compose:

cd site
docker-compose logs -f

停止和删除容器

docker stop marketing-site
docker rm marketing-site

或使用 docker-compose:

cd site
docker-compose down

发布到 Docker Hub

1. 登录 Docker Hub

docker login

2. 标记镜像

docker tag marketing-site:latest your-username/marketing-site:latest

3. 推送到 Docker Hub

docker push your-username/marketing-site:latest

发布到私有仓库

标记镜像

docker tag marketing-site:latest registry.example.com/marketing-site:latest

推送镜像

docker push registry.example.com/marketing-site:latest

在其他服务器上运行

docker pull your-username/marketing-site:latest
docker run -d -p 3000:3000 --name marketing-site your-username/marketing-site:latest

环境变量配置

如需配置环境变量,可以通过以下方式:

docker run -d -p 3000:3000 \
  -e NODE_ENV=production \
  -e NEXT_PUBLIC_API_URL=https://api.example.com \
  --name marketing-site \
  marketing-site:latest

或在 docker-compose.yml 中添加:

environment:
  - NODE_ENV=production
  - NEXT_PUBLIC_API_URL=https://api.example.com

健康检查

镜像已配置为监听 0.0.0.0:3000,可在容器启动后进行健康检查:

curl http://localhost:3000

故障排查

查看容器状态

docker ps -a

查看容器日志

docker logs marketing-site

进入容器调试

docker exec -it marketing-site sh

注意事项

  1. 确保端口 3000 未被占用
  2. 生产环境建议使用反向代理(如 Nginx)处理 HTTPS
  3. 如需修改端口,更新 docker-compose.yml 中的端口映射
  4. 镜像基于 node:20-alpine,体积较小但功能完整