我正在开发一个基于微前端架构的应用程序,在生产环境中,目标是将每个微前端都作为一个停靠的NodeJS应用程序。
现在,每个微前端依赖于公司开发的一个内部NPM包,我想知道是否可以将这种依赖作为一个独立的映像,每个微前端将如何重用它,而不是多次安装(每个微前端一个)?
我已经做了一些测试,我已经设法对接了内部依赖,但还不能使它能够到达微前端?我希望有一种方法可以在package.json
上设置它,类似于它为local path制作的方式,但由于图像的作用域是孤立的,他们找不到这种依赖关系。
提前谢谢。
发布于 2021-02-03 01:30:18
你的问题至少有两种解决方案
中使用带有shared node_modules和change命令的单个Docker镜像
Docker Solution 2Docker的基本思想是将您的所有微服务放入一个镜像中,结构如下:
/service1
/service2
/service3
/node_modules
/package.json
然后在您的docker-compose.yaml上
version: '3'
services:
service1:
image: my-image:<version or latest>
command: npm run service1:start
environment:
...
service2:
image: my-image:<version or latest>
command: npm run service2:start
environment:
...
service3:
image: my-image:<version or latest>
command: npm run service3:start
environment:
...
这样做的好处是,您现在有了一个要在生产中部署的映像,所有共享的代码都在一个地方
https://stackoverflow.com/questions/66014379
复制相似问题