我需要在Perl容器中打开哪个端口来连接oracle db容器

时间:2019-10-30 06:07:28

标签: oracle docker perl

我正在暴露1521端口的容器中运行oracle db。我还有另一个perl容器。 docker ps显示的内容是

CONTAINER ID   NAME        IMAGE             COMMAND                  CREATED             STATUS                    PORTS
bb8686d87c66    perl      perl:5.16         "/usr/bin/supervisor…"   5 minutes ago       Up 5 minutes  
9e37dff4c19e    oracle    oracle:12.2.0.1   "/bin/sh -c 'exec $O…"   41 hours ago        Up 41 hours (healthy)   0.0.0.0:1521->1521/tcp , 5500/tcp   oracle        

我能够从perl容器ping到oracle容器。但是从oracle到perl,我无法做到这一点。 我没有在perl映像中公开端口。我需要为此公开任何端口吗?

我有一个用于Perl Conatiner的link.conf文件,该文件将oracle db与perl连接起来

 LINKS=' --link oracle:oracle'

最后,我想在perl容器中使用perl脚本来连接到架构。我可以用我现在的配置来做吗?

1 个答案:

答案 0 :(得分:2)

如果我了解您的问题。 您有一个暴露给某个端口的Oracle实例。 您有一个perl代码,并且想要访问Oracle。

您不需要公开perl容器上的任何端口(除非它公开了您要在此容器外部访问的任何服务)。如果您只想与oracle容器通信,则无需公开任何端口。

在perl容器中,您只需要准备db-connection字符串。在使用LINKS策略时,应该可以使用名称:“ oracle”作为主机名来连接到它。