我的主机是在ESX服务器上运行的SLES12 VM. VM Host具有从ESX上运行的DHCP服务器获取DHCP IP的接口.
在我的docker容器(docker image:opensuse)中,我正在运行NFS服务器,因此需要外部访问.我希望容器从ESX上运行的dhcp服务器获取dhcp IP(就像我的Host VM一样).
我已经尝试过pipework但是无法正常工作.这是我做的:
>在ESX上启用混杂模式.创建了新桥(br1)和
将其附加到主机接口eth0.
>使用pipework使用此命令在Docker容器中添加了一个带有IP地址的新接口(eth1)
pipework br1 $CONTAINERID 0/0
>我尝试将DHCP IP分配给新的接口(eth1)
容器,使用命令管道工程eth1 $CONTAINERID dhclient
但得到以下错误:
RTNETLINK答案:文件存在
>为了解决这个问题,我在容器中刷新了eth1设备并运行了
命令再次.我发现我的docker守护进程崩溃了.搬运工人
版本:1.12.3(客户端和服务器).
请让我知道我在这里缺少什么.我希望我的容器的接口从ESX上运行的DHCP服务器获取DHCP IP.
最佳答案
您需要使用macvlan或ipvlan驱动程序创建docker网络.
然后,您将需要使用DHCP IPAM驱动程序(IPAM代表IP地址管理).
然后,您将需要使用DHCP IPAM驱动程序(IPAM代表IP地址管理).
这是一个关于如何做类似事情的一些解释的要点:
https://gist.github.com/nerdalert/3d2b891d41e0fa8d688c