繁体   English   中英

从 docker 主机外部到运行在 docker 容器上的 oracle 数据库的远程连接

[英]Remote connection to oracle database running on a docker container from outside the docker's host machine

我最近一直在尝试使用来自本网站的官方 docker 映像设置 Oracle Database Server 12c R2,并且我已经成功地从该映像运行了一个容器,并从容器内部和外部连接到数据库(来自 docker 主机)。 docker 主机是 VPS(ubuntu 16.04),我从笔记本电脑(centos 7)telnet 到数据库的 IP/PORT,但我无法使用 sqlplus 命令连接到数据库。 tnsnames.ora 文件是这样的:

ORCLCDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.235.26)(PORT = 32756)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLCDB.localdomain)))
ORCLPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.230.21)(PORT = 32756)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB1.localdomain)))

而 listener.ora 是这样的:

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 217.182.235.26)(PORT = 32756)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))
DIAG_ADR_ENABLED = off
SSL_VERSION = 1.0

我用来从本地机器连接的命令是:

sqlplus64 UI_TEST/ut@217.182.235.26:32756/ORCLCDB.localdomain

但我得到ORA-12537: TNS:connection closed

问题是什么? 我错过了什么?

您观察到的错误可能有多种可能的原因。 您能检查一下这些解决方案中的任何一个是否能让您成功。

同样值得检查是否可以将主机端口映射到 dockerised 侦听器端口,从而建立隧道机制来传递连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM