我尝试使用静态IP地址将docker容器暴露给外部世界(具体而言,仅在我的内部网络中{ - 1}})。在我的示例中,容器应具有IP地址10.0.0.0/24
。
Docker版本为10.0.0.200
。
因此我创建了一个用户定义的网络:
在桥接模式下1.10.3
。
然后我创建了一个容器并将其附加到容器中。
docker network create --subnet 10.0.0.0/24 --gateway 10.0.0.254 dn
容器具有正确的ip和gw分配(10.0.0.200,10.0.0.254 - 这也是来自docker创建的桥接口的ip)但是没有从容器到外部世界的通信,也没有从外部到容器的通信是可能的。唯一有效的是nslookup,但是我不知道为什么这样做。
从网络中的另一台主机,我可以ping通通过docker network create命令创建的网桥接口。
连接docker run -d \
--name testhost \
-it \
-h testhost \
--net dn \
--ip 10.0.0.200 \
-p 8080:8080 \
some image
网络的second container
可以ping我的第一个容器。沟通dn
。
在docker [网络文档] [1]
中[1]:https://docs.docker.com/engine/userguide/networking/#a-bridge-network“docker network docu”(桥接网络中的第二张图片)应该是可能的
似乎我错过了一些步骤或配置。任何建议表示赞赏,谢谢。