自 Docker 1.10(和 libnetwork 更新)以来,我们可以在用户定义的网络内手动为容器分配 IP,这很酷!
我想在我的局域网中为容器分配一个 IP 地址(就像我们可以在“桥接”模式下使用虚拟机一样)。我的局域网是 192.168.1.0/24,所有计算机都有其中的 IP 地址。我希望我的容器具有此范围内的 IP,以便可以从我的 LAN 中的任何地方访问它们(无需 NAT/PAT 等)。
我显然读过 Jessie Frazelle 的博客文章和其他很多类似的文章,如:
等等,但没有什么效果;我的容器仍然具有位于我的 Docker 主机“内部”的 IP 地址,并且不能被我的局域网中的其他计算机访问。
阅读 Jessie Frazelle 的博客文章后,我认为(因为她使用公共 IP)我们可以做到我想要做的事情?
编辑:确实,如果我做类似于:
network create --subnet 192.168.1.0/24 --gateway 192.168.1.1 homenet
docker run --rm -it --net homenet --ip 192.168.1.100 nginx
新的docker主机界面(br-[a-z0-9]+)采用“--gateway”IP,它是我的路由器IP。在网络上两台计算机使用相同的IP......崩溃了。提前致谢。