栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Docker:容器A可以调用另一个容器B上的可执行文件吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker:容器A可以调用另一个容器B上的可执行文件吗?

您的问题有多种解决方案,我让您选择最适合您的一种。下面列出了从最干净到最丑陋的内容(我认为是关于一般遵循的最佳做法)。

1.提供服务

如果您最终经常调用它, 则值得将pandoc公开为(HTTP)API 。一些图像已经做到了这一点,例如metal3d / pandoc-
server
(我已经成功使用了它,但是我确定您可以找到其他图像)。

在这种情况下,你只要运行一个容器

pandoc
+
pdflatex
一次 便大功告成!

2.使用图像继承!

让2个图像:一个

pandoc
只,另外一个用
pandoc
+
pdflatex

继承了第一个与
FROM
该指令
Dockerfile

它将解决您对大小的担忧,并且仍然能够运行pandoc而无需获取

pdflatex
。然后,如果您需要使用拖动图像
pdflatex
,它将只是
一个额外的图层 ,而不是整个图像。

如果您发现自己经常使用该图像,而很少使用没有该图像的情况,则也可以用另一种方法进行处理,即使用基本图像,

pdflatex
然后添加其他图像。你也可以将3张图片,,,和,覆盖每一个需要你可能有,但随后你将至少有一个是不以任何方式链接到2人(不能heritate一个“孩子”形象图片),使其难以维护。
pandoc``pdflatex``pandoc``pdflatex``pandoc``pdflatex``pdflatex+ pandoc

3.
my-pandoc-image
+ Docker套接字安装中的Docker客户端

这是您在文章结尾处提到的解决方案,它可能是调用其他容器化命令的最 通用,直接的解决方案 ,而不是将

pandoc
+
的确切用例
pdflatex
考虑在内。

只需将docker客户端添加到您的映像中,

my-pandoc-image
然后使用即可在运行时将Docker套接字作为卷传递
docker run -v/var/run/docker.sock:/var/run/docker.sock
。如果您担心不能够做出
pandoc
的呼叫
docker run...
,而不是
pdflatex
直接,只需添加一个贫穷的包装称为
pdflatex
/usr/local/bin/
其负责做的
dockerrun

4.使用volumes-from获取二进制文件

这可能是我在这里要讲的 不太干净的内容
。你可以尝试让无论是

pandoc
二进制
pdflatex
容器或
pdflatex
二进制文件中
pandoc
使用的容器
--volumes-from
把一切都打包在自己的码头工人的形象。但总而言之,它更像是胶带而不是真正的解决方案。

结论

您可以选择最适合您需求的解决方案,但我建议您使用前两种,强烈建议不要使用后一种。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370842.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号