请教一下 多个 container 配合完成一个编译操作的问题。

2019 年 8 月 31 日
 sjmcefc2

有一台主机只有 docker 和 a,b,c 几个镜像, 然后这几个镜像会有 A,B,C 容器。 有一个脚本 abc.py ,需要用到 A,B,C 个容器中的程序才能完成编译。 这个 dockers run 该怎么写呢?--link ?

2380 次点击
所在节点    程序员
7 条回复
ETiV
2019 年 8 月 31 日
使用 volume,来使得 3 个容器都能访问同一个宿主机下的路径 P (目录或者文件)

容器拉起来的时候用 --entrypoint /bin/bash [cmd=] -c "while true ; do sleep 30; done"

abc.py 里调用
docker exec XXX container-A cmd-build-a
docker exec XXX container-B cmd-build-b
docker exec XXX container-C cmd-build-c

cmd-build-x 里,输出结果的路径用 P 在 docker 内的路径
wweir
2019 年 8 月 31 日
写个 dockerfile,使用 multi-stage build 把三个镜像结合成一个
sjmcefc2
2019 年 9 月 1 日
感谢回复,有点没有描述清楚自己的想法。一台 rhel,container anaconda3,pgloader,pgsql
一个脚本 abc.py ,需要用 python3 abc.py 可是 abc.py 又需要依赖 pgloader 和 pgsql
sjmcefc2
2019 年 9 月 1 日
@wweir 不搞成一个的有吗?不是不建议搞多个服务?
jybox
2019 年 9 月 1 日
docker-compose 了解一下
VDimos
2019 年 9 月 1 日
用多阶段构建吧,分三个镜像又慢又大
julyclyde
2019 年 9 月 2 日
这不是穿上裤子再放屁么

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

https://v2ex.ih06.com/t/596827

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

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

© 2021 V2EX