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
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
注意事项
- 确保端口 3000 未被占用
- 生产环境建议使用反向代理(如 Nginx)处理 HTTPS
- 如需修改端口,更新
docker-compose.yml中的端口映射 - 镜像基于
node:20-alpine,体积较小但功能完整