根据Docker Compose的compose-file documentation:

  • depends_on-服务之间的快速依赖性。
  • links-链接到另一个服务中的容器,并且表示服务之间的依赖关系,与depends_on相同。

  • 我不明白链接到其他容器的目的,所以两个选项之间的差异对我来说似乎仍然很困难。

    如果有一个例子,会容易得多,但我找不到任何例子。

    我注意到,当我将容器B与容器A链接时,容器B将在容器A的 shell 内“可ping通”。

    我在容器A的ping B中运行了bash,并得到了这样的结果(仅供引用,来自Internet的图像)

    docker - docker_compose.yml中链接和Depends_on之间的区别-LMLPHP

    最佳答案

    不推荐使用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/

    10-11 02:35
    查看更多