Docker链接容器,Docker Networks,Compose Networks – 我们现在
我有一个现有的应用程序,包含4个在同一主机上运行的docker容器.它们已使用link命令链接在一起. 但是,在对docker进行一些升级后,链接行为已被弃用,并且似乎已更改.我们遇到的问题是容器现在正在失去彼此的链接. 因此,docker表示要在链接容器上使用新的网络功能.但我看不出它是如何工作的. 如果2个容器在同一个网络中,那么容器上自动暴露的ENV变量是否相同? 或者是使用正确的容器名称/ IP地址更新主机文件?即使码头重启后? 我在文档中看不到容器如何在其网络中找到另一个容器的位置? 另外,compose有一个简单的设置来链接容器,并且可能会自动化其中的一部分 – 这将构成定义多容器应用程序的方式吗?或者在生产中运行它还为时尚早? 是否还支持多个主机配置? 在未来的某个时刻,我们可能需要将其中一个容器移动到不同的主机…. 最佳答案
不,您现在必须使用容器名称作为其主机名.新的网络功能不知道将使用哪些端口.可以想象这是两台计算机插在同一个网络集线器上.两者都可以通过其主机名来解决另一个问题.
是的,作为网络一部分的所有容器的/ etc / hosts文件将由docker引擎实时更新.
使用容器名称.请参阅使用网络命令文档的Connect containers部分:
Compose通过提供–x-networking选项支持新网络功能作为测试版.你不应该在生产中使用它(当前的Compose版本是1.5). 此外,当前的实现有点不方便,因为我们必须使用由项目名称_容器名称_1组成的完整容器名称. documentation说下一个版本(当前版本是1.5)将改进这一点,这样我们就不必担心项目名称来处理容器.
是的,与overlay network documentation中详述的Swarm相结合 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |