[英]Difference between --link and --alias in overlay docker network?
我正在閱讀這個官方Docker 0.10.3文檔(此時,它仍然在分支中)並且它說:
--net-alias=ALIAS
除了如上所述的--name之外,容器還是由用戶定義的網絡中的一個或多個已配置的--net-alias(或docker network connect命令中的--alias)發現的。 嵌入式DNS服務器維護所有容器別名與其在特定用戶定義網絡上的IP地址之間的映射。 通過使用docker network connect命令中的--alias選項,容器可以在不同的網絡中具有不同的別名。
--link=CONTAINER_NAME:ALIAS
在運行容器時使用此選項會為嵌入式DNS提供一個名為ALIAS的額外條目,該條目指向CONTAINER_NAME標識的容器的IP地址。 使用--link時,嵌入式DNS將保證僅在使用--link的容器上進行本地化查找。 這使得新容器內的進程可以連接到容器,而無需知道其名稱或IP。
來自一個容器的網絡別名實際上是來自同一網絡中第二個容器的鏈接嗎?
--net-alias
和--link
之間有兩點不同:
--net-alias
,只有當一個容器位於同一網絡上時,它才能訪問另一個容器。 換句話說,除了--net-alias foo
和--net-alias bar
,在使用--net foobar_net
docker network create foobar_net
創建網絡后,需要使用--net foobar_net
啟動兩個容器。 --net-alias foo
,同一網絡中的所有容器都可以使用其別名foo
到達容器。 使用--link
, 只有鏈接的容器可以使用名稱foo
到達容器。 從歷史上看,-- --link
是在libnetwork
和所有與網絡相關的功能之前創建的。 在libnetwork
之前,所有容器都在同一個bridge
,並且--link
僅將--link
添加到/etc/hosts
。 然后,添加了自定義網絡,並--link
了用戶定義網絡中--link
的行為 。
有關--link
更多信息,另請參閱舊版容器鏈接 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.