对 Docker 来说不算新,但也不是专家。
我正在尝试构建一个 Docker 环境,其中自定义桥接到特定的 NIC。
用例是在我的电脑上单独的接口 eth1 上运行一个专用的隔离实验室网络,其中的设备和服务无法看到也无法干扰在 eth0 上运行的办公室/生产网络。
我要运行的容器之一是 DHCP 服务器,我只想在 eth1 上分配 IP 地址。显然,我不想通过 eth0 向办公室的其他人分配 IP 地址。我一直在阅读文档、观看视频、参加在线培训、阅读博客。对我来说,我想要实现的是非常基本的事情,但我似乎找不到如何做到这一点。
有任何想法吗?
答案1
对于您的问题,我认为您可以尝试创建一个桥并将其绑定到 NIC eht1。步骤如下:
编辑eth1配置文件ifcfg-eth1:
编辑桥接器 br0 的配置文件 ifcfg-br0:
重新启动网络服务:
service network restart
找到你的docker配置文件并将其更改
DOCKER_NETWORK_OPTIONS
为:DOCKER_NETWORK_OPTIONS="-b=br0"
重启docker服务器
创建没有网络的docker:
docker run -itd --net=none --name=dockerName yourImage
为你的容器设置网络,你需要安装工具管道
git clone https://github.com/jpetazzo/pipework cp ~/pipework/pipework /usr/local/bin/ pipework br0 dockerName 192.168.0.11/[email protected]
注意:容器的 IP 地址为 192.168.0.11,网络掩码为 24,网关为 192.168.0.141。您可以根据需要更改一些设置。希望这对您有所帮助。