use*_*992 7 linux networking rhel docker docker-swarm
我正在使用docker swarm部署内部部署第三方应用程序。我要部署的计算机正在运行RHEL 7.6,并且具有两个网络接口。用户将通过与该应用程序进行交互eth0,但是必须使用与其系统的内部通信,eth1否则该连接将被其防火墙阻止。我的应用程序需要我的某些服务才能在其网络中建立连接内部服务。
我使用以下方法创建了群集:
$ docker swarm init --advertise-addr x.x.x.x
Run Code Online (Sandbox Code Playgroud)
哪里x.x.x.x是eth0INET地址。这适用于服务的传入用户流量。但是,当我尝试建立与另一服务的连接时,连接被防火墙阻止而超时。
在docker之外,在机器上,我可以运行:
ssh -b y.y.y.y user@server
Run Code Online (Sandbox Code Playgroud)
哪里y.y.y.y是eth1INET地址,和它的作品。当我在docker swarm容器中运行相同命令时,出现以下错误:
绑定:yyyy:无法分配请求的地址
有什么办法可以在docker swarm中使用多个网络接口并指定在容器中使用哪个接口?我找不到关于此的大量文档。我需要设置某种代理吗?
小智 0
默认情况下,Docker 从计算机上的网络接口创建桥接网络,然后通过内部单独的虚拟接口将每个容器实例附加到该网络。因此,您将无法直接绑定到 eth1,因为您的 Docker 容器具有不同的接口。
有关一般指南,请参阅https://docs.docker.com/v17.09/engine/userguide/networking/和https://docs.docker.com/v17.09/engine/userguide/networking/default_network/custom- docker0/用于具有多个物理接口的自定义桥接网络。
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |