根据Docker Compose的compose-file documentation:
depends_on
-服务之间的快速依赖性。 links
-链接到另一个服务中的容器,并且表示服务之间的依赖关系,与depends_on相同。 我不明白链接到其他容器的目的,所以两个选项之间的差异对我来说似乎仍然很困难。
如果有一个例子,会容易得多,但我找不到任何例子。
我注意到,当我将容器B与容器A链接时,容器B将在容器A的 shell 内“可ping通”。
我在容器A的
ping B
中运行了bash
,并得到了这样的结果(仅供引用,来自Internet的图像)最佳答案
不推荐使用links
选项后,该帖子需要更新。
基本上不再需要links
,因为network
隐含了它的主要目的,即通过添加环境变量使另一个容器可访问。将容器放置在同一网络中时,可以使用容器名称和其他别名作为主机来相互访问它们。
对于docker run
,也不建议使用--link
,应将其替换为自定义网络。
docker network create mynet
docker run -d --net mynet --name container1 my_image
docker run -it --net mynet --name container1 another_image
depends_on
表示开始顺序(以及隐式的图像拉出顺序),这是links
的一个很好的副作用。关于docker - docker_compose.yml中链接和Depends_on之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35832095/