0

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

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

最好的问候和感谢。

4

1 回答 1

1

Docker 不使用它之外的网络。对于来自外部世界的主机与容器之间的连接,请使用端口绑定。在创建 docker image 时暴露 Dockerfile 中的端口 将 Docker 容器暴露给主机:暴露容器对于主机识别容器运行在哪个端口非常重要。-p 在 docker run 命令中用于公开端口。语法: docker run -p host_ip:host_port:container_port image_name 例如,docker run -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).
于 2017-02-17T09:30:45.093 回答