多服务的 docker 方案该如何正确实现?

346 天前
 rqzrqh

比如有一个打包好的镜像,希望传递参数而启动不同的微服务。 比如市场 a ,市场 b ,市场 c 等等,这样的市场会有很多个,一个服务可以启动多个实例来支撑一个市场,每个实例启动后大概会消耗 1G 内存。

本来是想用 gcp 的 app engine 方案,远程打包远程部署,但是因为代码没开源只能采用本地打包、远程运行的方式(用 secret 似乎是可以的,不过没有去研究了)。 本着不想自己买服务器的想法,也顺便试试更牛逼的 serverless ,尝试采用 gcp 的 cloud run 方案,但是发现了一个新问题,那么多市场每一个都要在 cloud run 配服务,太麻烦了,万一程序要升级重新发包又要创建一批服务。

看上去似乎只能是用脚本直接启动,之前没用过 docker ,不知道是不是需要买服务器用容器编排的方式?或者有什么更合适的方法?

1562 次点击
所在节点    云计算
5 条回复
NelsonZhao
346 天前
单实例多服务可以考虑 docker compose ,多实例多服务就需要 k8s 了,嫌麻烦可以用 k3s
thinkershare
346 天前
看你最终服务的数量,升级的频繁性等等,用户规范等, 最终还能还是需要 DevOps+K8s 来支撑整个流程的自动化。前期可以自己编写一些自动化脚本来完成一些重复性的工作。
CivAx
346 天前
比较通常的做法是 entrypoint 指向到一个 init.sh ,通过传入不同的参数给脚本,唤起不同的后端
bthulu
346 天前
docker run -d image1;
docker run -d image2;
docker run -d image3;
julyclyde
345 天前
给容器传递,无非就是环境变量或者 entrypoint 加参数这几个办法呗
但是我还是建议直接分开。因为有时候你手工 docker run 的时候可能想不起来做环境变量或者参数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1006161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX