如何将 Docker 桥绑定到特定的 NIC?

如何将 Docker 桥绑定到特定的 NIC?

对 Docker 来说不算新,但也不是专家。

我正在尝试构建一个 Docker 环境,其中自定义桥接到特定的 NIC。

用例是在我的电脑上单独的接口 eth1 上运行一个专用的隔离实验室网络,其中的设备和服务无法看到也无法干扰在 eth0 上运行的办公室/生产网络。

我要运行的容器之一是 DHCP 服务器,我只想在 eth1 上分配 IP 地址。显然,我不想通过 eth0 向办公室的其他人分配 IP 地址。我一直在阅读文档、观看视频、参加在线培训、阅读博客。对我来说,我想要实现的是非常基本的事情,但我似乎找不到如何做到这一点。

有任何想法吗?

答案1

对于您的问题,我认为您可以尝试创建一个桥并将其绑定到 NIC eht1。步骤如下:

  1. 编辑eth1配置文件ifcfg-eth1:

    在此处输入图片描述

  2. 编辑桥接器 br0 的配置文件 ifcfg-br0:

    在此处输入图片描述

  3. 重新启动网络服务:service network restart

  4. 找到你的docker配置文件并将其更改DOCKER_NETWORK_OPTIONS为:

    DOCKER_NETWORK_OPTIONS="-b=br0"

  5. 重启docker服务器

  6. 创建没有网络的docker:

    docker run -itd --net=none --name=dockerName yourImage

  7. 为你的容器设置网络,你需要安装工具管道

    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。您可以根据需要更改一些设置。希望这对您有所帮助。

相关内容