linux - 如何在 Docker 容器上配置或更改 eth1 到 eth0

标签 linux docker networking centos network-programming

我在centos 7服务器上安装了docker。我创建了一个自定义桥并附加了一个 docker 容器。现在,当我执行 ifconfig 命令时,我有两个以太网连接:

  • eth0
  • 上的本地网络
  • 一个是 eth1 上的自定义网络。

我想在 eth0 上设置自定义网络,在 eth1 上设置本地网络。我试过但无法进入 docker 容器。请帮忙。

我正在等待您的及时回复。

提前致谢

最佳答案

How can I configure or change...

你不能。最好这样想:您的 container 只是一个进程。杀死它并使用正确的配置启动一个新的。

一个想法/例子:

创建您的自定义桥:

$ docker network create test_net
c5e92fff4e386bab692f849d148509cdb9ae0e70307e0bf8426e62352c56368d

并在执行 docker run 时将您的容器附加到此桥(172.18.0.X):

$ docker run -it --network=test_net alpine
...

然后,将容器连接到默认网桥(172.17.0.X)

$ docker network connect bridge <your_container_name>

让我们看看我们得到了什么:

$ docker container exec -it <your_container_name> sh
/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:12:00:02  
          inet addr:172.18.0.2  Bcast:172.18.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:54 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6950 (6.7 KiB)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02  
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6558 (6.4 KiB)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

关于linux - 如何在 Docker 容器上配置或更改 eth1 到 eth0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060887/

相关文章:

jenkins - 配置 Jenkins 作业以通过 ansible 安装 Docker

networking - 通过互联网了解TCP/Ip分层吗?

通过 LAN 使用 TCP/IP 进行 Java 聊天

linux - 如何在 bash 作业列表中扩展变量

linux - 在单实例模式下使用 xinetd 运行 shell 脚本

MongoDB docker 容器不显示数据库

ios - 扫描网络设备

python - 在 Windows、Linux 和 Mac 上运行的独立于平台的文本到语音 Python 库?

python - mujoco linux 包安装报错: exit status 1

Python REST API 在 Docker 容器中无法正常工作