我正在尝试使用Docker镜像部署Next.js项目,我想知道是否可以简单地使用已生成的dist文件夹(.next)并启动next.js服务器(npm run start)必须在容器中再次触发构建步骤。
容器将托管在AWS Elastic Beanstalk中,我也想避免上传源代码并在那里安装npm包,因为我已经有一个生成生产工件的CI管道。
答案 0 :(得分:0)
回答是因为我自己正在处理这个问题并找到了这个问题。我的研究表明,实现这一目标的唯一方法是在beanstalk上运行docker环境而不是node.js.主要原因是.next构建工件中存在绝对路径,因此您必须在每个实例上构建,并且必须确保在这些实例之间同步BUILD_ID。
如果您的CI管道可以处理创建和推送Docker镜像,那么它很容易在Beanstalk上部署而无需重建等。希望有所帮助!