我们的 Dockerfile
使用多阶段构建过程来创建优化的镜像。
提醒
- 使用
alpine
可以使用最小镜像,可以大幅减少构建后镜像的大小 corepack enable
跨环境一致的管理 pnpm 版本- 多阶段构建可以把最终镜像减少 90%
--from=build
确保依赖版本完全匹配- 仅复制
.output
目录可以防止源代码包含在镜像中
提醒
- restart:始终确保应用在崩溃后重启
- healthcheck:这项配置会验证程序是否真正运行
- resources:防止容器内存泄露
- ports:端口映射允许外部直接访问
健康检查可确保您的应用程序正确响应。如果要添加自定义运行状况端点,请在 Nuxt 应用程序中创建 API 路由:
这个 GitHub Action 会在创建标签或者手动出发时构建和推送镜像
这段代码来自 From Local to Production: Deploy the Latest Nuxt Stack with Docker
- 在 git tag (v1.0.0|v1.2.0|v2.0.0)上触发
- 支持带有自定义版本标签的手动触发器
- 使用 GitHub 的缓存来加速构建
- 自动使用版本和最新标签来标记镜像
- 使用代码仓库的名称作为镜像名称
如果需要使用此设置:
- 在 GitHub 仓库中发布带有版本标签的新版本或者推送新标签
- 从 GitHub 的操作选项卡中手动出发工作流程
- 在生产中之后总使用特定的版本标签
- 设置健康检查的监控
- 配置正确的日志记录
- 使用环境变量进行配置
- 设置 SSL/TLS
评论区
评论加载中...