从覆盖网络上的Docker Web容器访问主机网络上的数据库

时间:2020-06-03 09:38:51

标签: docker

我有一个网络10.0.0.0/24,其中有1个Oracle db-host01 IP地址10.0.0.100和2个Docker主机Docker01 10.0.0.15和Docker02 10.0.0.16,并且配置了swarm。我已经配置了覆盖网络“ overnet”,其网络地址为192.168.6.0/24。

我已执行以下cmd在叠加网络上运行Web容器。

docker run -i -t -d -p 9090:6000 --name门户--network overnet门户:1.0

但Web容器的IP地址192.168.6.2未与Oracale DB 10.0.0.100通信。

我可以从Web容器ping DB ip 10.0.0.100。

如何使交流成为可能,以及如何将此容器作为服务运行。

致谢 Sohail

1 个答案:

答案 0 :(得分:0)

默认情况下,叠加网络是不可附加的,这意味着独立容器无法使用它们。

您可以使用pd.crosstab([df.COUNTRY,df.STATE,df.RESTAURANT,df.STARS,df.REVIEWS], df['CATEGORY'].fillna('_')).drop(columns='_')标志来指定可连接网络,例如

--attachable

如果您无法修改网络,请使用

为您的容器创建服务
$ docker network create -d overlay --attachable overnet

这时它将能够使用覆盖网络。