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

时间:2020-03-15 23:18:43

标签: docker oracle12c sqlplus

我最近一直在尝试使用来自this website的正式docker镜像来建立Oracle Database Server 12c R2,并且我已经成功地从该镜像运行了一个容器,并从内部将它们连接到数据库容器及其外部(来自docker主机)。 docker主机是VPS(ubuntu 16.04),我可以从笔记本电脑(centos 7)远程登录到数据库的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

出什么问题了? 我想念什么?

1 个答案:

答案 0 :(得分:0)

您正在观察的错误可能有多种可能的原因。您可以检查其中的任何solutions是否使您成功。

还值得检查是否可以将主机端口映射到dockerized侦听器端口,从而在其中建立隧道机制以使您的连接通过。

相关问题