如何通过主机';Docker中我的容器的IP地址
我的机器上有多个NIC,因此有多个外部可路由IP地址 当我启动一个容器时,我想使容器的虚拟eth0具有我的一个公共可见IP地址的IP地址 这是因为我的每个应用程序都查询其本地IP并通过专有协议与外部通信,所以所有的iptables技巧都无法工作如何通过主机';Docker中我的容器的IP地址,docker,lxc,Docker,Lxc,我的机器上有多个NIC,因此有多个外部可路由IP地址 当我启动一个容器时,我想使容器的虚拟eth0具有我的一个公共可见IP地址的IP地址 这是因为我的每个应用程序都查询其本地IP并通过专有协议与外部通信,所以所有的iptables技巧都无法工作 我该怎么做?我不确定这是否是一个好的做法,但您可以在启动容器时传递--net选项: docker-run--net=host… 从man docker run: --net="bridge" Set the Network mode
我该怎么做?我不确定这是否是一个好的做法,但您可以在启动容器时传递
--net
选项:
docker-run--net=host…
从man docker run
:
--net="bridge"
Set the Network mode for the container
'bridge': creates a new network stack for the container on the docker bridge
'none': no networking for this container
'container:': reuses another container network stack
'host': use the host network stack inside the container. Note: the host mode gives the container full access to local system services such as D-bus and is therefore considered insecure.
当您说“查询其本地IP”时,您似乎假设机器将恰好有一个IP地址,或者程序可以确定哪个IP地址最好提供给另一台机器。这两种假设都不可靠。你不能直接把你想让它使用的IP地址传给应用程序吗?