我是个新手,对于Docker还不是很熟悉。请问在宿主机或虚拟机上运行的Docker容器是否可以分配IP地址(通过DHCP服务器)?如果可以,请指点一下正确的方向。如果不行,这是容器方法的根本限制还是只是Docker尚未支持的功能?
我是个新手,对于Docker还不是很熟悉。请问在宿主机或虚拟机上运行的Docker容器是否可以分配IP地址(通过DHCP服务器)?如果可以,请指点一下正确的方向。如果不行,这是容器方法的根本限制还是只是Docker尚未支持的功能?
Docker在过去的一段时间内有了很大的发展,比如Docker 0.6.5:
容器现在拥有自己的IP地址。你可以使用docker inspect命令来查看一个容器的IP地址,或者如果你想提取它,可以使用:
docker inspect container_name | grep IPAddress | cut -d '"' -f 4.
注意 - Docker正在大力开发中,因此建议根据当前文档进行确认。
网络元素是当前在docker-dev
上讨论的内容之一,看起来长期与libvirt的集成正在考虑中。因此,回答您的问题,NET DHCP或其他类似功能可能没有按照您想要的方式实现。
有关Docker网络实现的一些描述在这篇博客文章中。目前在network.go的CreateBridgeIface
中设置了一组IP范围。
同时,您可能想要查看pipework,这是一个与Docker一起使用的用于各种网络配置的工具。这将允许您在容器上添加和修改IP地址,创建私有网络并将容器连接到物理接口。最终,它会包装底层工具,但您可能会发现使用pipework
更容易。
docker inspect container_name | grep IPAddress | cut -d '"' -f 4
。 - Unferthdocker inspect -format="{{.NetworkSettings.IPAddress}}" container_name
,跳过其余的 shell 命令。 - Miquella