oracle - 我需要在 Perl 容器中打开哪个端口来连接 oracle db 容器
问题描述
我在暴露了端口 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 图像中公开端口。我需要为此公开任何端口吗?
我有一个link.conf
perl conatiner 文件,它将 oracle db 与 perl 连接起来
LINKS=' --link oracle:oracle'
最后我想在 perl 容器中使用 perl 脚本来连接到模式。我可以用我目前的配置来做吗?
解决方案
如果我理解你的问题。您有一个暴露给某个端口的 Oracle 实例。你有一个 perl 代码,并且想要访问 Oracle。
您不需要在 perl 容器上公开任何端口(除非它公开了您要在此容器之外访问的任何服务)。如果您只是想与 oracle 容器通信,则无需在其上公开任何端口。
在你的 perl 容器中,你只需要准备好你的 db-connection 字符串。当您使用 LINKS 策略时,您应该能够通过使用 name: "oracle" 作为主机名来连接到它。
推荐阅读
- c# - ObservableCollection 上的扩展方法
,我的类型:IEnumerable - redirect - SharePoint Online:多站点环境的重定向 URI
- javascript - 如何从单独的 Webpack 包访问 jQuery 插件
- scala - Scala - 使用表达式的评估将数据帧写入 csv 文件
- java - 改造:URL 查询字符串不能有替换块
- node.js - 服务器上的节点获取请求失败:无法获取本地颁发者证书
- python - 使用 twistd 部署烧瓶
- python - 随机缩进错误?
- vaadin - Vaadin 10 - 上传组件 - 删除文件事件
- java - 在 Java 中是否可以从对象的构造函数将对象添加到地图中?