【发布时间】:2016-06-15 01:05:24
【问题描述】:
从 Docker 1.10(和 libnetwork 更新)开始,我们可以手动为用户定义网络中的容器分配 IP,这很酷!
我想在我的 LAN 中为容器提供一个 IP 地址(就像我们可以在“桥接”模式下使用虚拟机一样)。我的局域网是 192.168.1.0/24,我所有的电脑里面都有 IP 地址。而且我希望我的容器具有此范围内的 IP,以便从我的 LAN 中的任何地方访问它们(没有 NAT/PAT/等...)。
我显然读过 Jessie Frazelle 的 blog post 和许多其他人在这里和各处发帖,例如:
- How to set a docker container's iP?
- How to assign specific IP to container and make that accessible outside of VM host?
还有很多,但什么也没出来;我的容器仍然在我的 docker 主机“内部”有 IP 地址,并且我的 LAN 上的其他计算机无法访问。
阅读 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 ... BOOM
提前致谢。
【问题讨论】:
-
您是在 Linux 上,还是通过 boot2docker 虚拟机使用 docker?
-
真是个傻瓜!我忘了最重要的!我在 Linux (Debian 8) 上。
-
感谢您发布此内容,在过去的几周里,我遇到了很多与此相关的复杂问题。专门从子网外部到达容器。由于我的问题,我已经放弃了这个,但我很高兴这个帖子存在,以防我需要再次这样做。
标签: networking docker