gpt4 book ai didi

networking - `docker run --network=container:CONTAINERID` 是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 21:39:33 27 4
gpt4 key购买 nike

我知道在运行容器时,我可以设置 --network参数,其值可以是 docker network ls 的结果中的任何值.
但是,我看到一些运行容器是这样的:

$ docker run --network=container:CONTAINERID IMAGE

我已经搜索过这种用法,但没有文档可以解释它。

我做了一些实验,发现使用另一个容器网络的容器共享同一个网络堆栈,并且两个容器似乎在同一个host他们可以使用 localhost 互相调用.

所以在运行容器时通过设置 --network=container:CONTAINERID ,是不是意味着两个容器共享同一个网络栈?

最佳答案

正如您所想,新容器被赋予与 CONTAINERID 相同的网络 namespace。所以是的,相同的网络堆栈。正如您所指出的,这意味着容器可以通过 localhost 相互联系,这也意味着您需要小心端口映射,因为每个容器都需要命名空间中的唯一端口。

它记录在 docker run reference here .

--network="bridge" : Connect a container to a network
'bridge': create a network stack on the default
Docker bridge
'none': no networking
# -----> 'container:<name|id>': reuse another container's
network stack
'host': use the Docker host network stack
'<network-name>|<network-id>': connect to a
user-defined network

关于networking - `docker run --network=container:CONTAINERID` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com