Docker 具有不同网络接口的容器

Docker Containers with different Network Interface

问题: 我想在 Docker 容器中有多个 VPN 服务器 运行,每个容器都有自己的 public IP。

使用 -p 参数我可以分别连接到每个,但是我看到的 Public ip 是 eth0 接口而不是我想要的接口 (eth0:1)那么如何创建一个使用 eth0:1 作为流量接口的新 docker0 接口?

致以最诚挚的问候和感谢。

Docker 不使用它之外的网络。 对于来自外部世界的主机与容器之间的连接,请使用端口绑定。 创建 docker 图像时在 Docker 文件中公开端口 将 Docker 容器暴露给主机: 暴露容器对于主机识别容器在哪个端口 运行s 非常重要。 -p in docker 运行 命令用于公开端口。 语法:docker 运行 -p host_ip:host_port:container_port image_name 例如,docker 运行 -itd -p 192.168.134.122:1234:1500 image_name
这会将容器的 1500 端口绑定到主机 192.168.134.122 上的 1234 端口。
使用iptables查看网络进程-iptables -L -n -t nat

  Now the request send to host_ip (192.168.134.122) and port (1243) is redirect to container with ip (172.17.0.2) and port (1500).