我是Docker的初学者,希望大家可以帮忙,非常感谢。
我从公司存储库下载了一个 docker 映像,并设法从该映像在本地计算机中创建了一个容器,我们将其命名为 mydb。它是通过以下命令创建的: docker run --name mydb -p 1521:1521 -d mycompany.com:5000/docker-db:20.0.04
我可以通过我的 sqldqveloper 使用以下连接字符串访问数据库:system/abc123@127.0.0.1:1521/ORCL
我们公司在 AWS 中有一个数据库服务器,我们把它命名为 awsdb。我可以在 vpn 登录后访问它。我可以在 sqldqveloper 中使用以下连接字符串访问数据库: system/abc123@awsdb.amazonaws.com:1521/awsdb
问题:如何使用数据库链接“my_dblink”在 mydb 中创建到 awsdb 的数据库链接?例如。从 dual@my_dblink 中选择 sysdate。
我尝试使用以下命令:
CREATE PUBLIC DATABASE LINK my_dblink
CONNECT TO system
IDENTIFIED BY abc123
USING 'awsdb.amazonaws.com:1521/awsdb';
但它返回错误 ORA-12543: TNS:destination host unreachable。
我尝试删除容器并通过设置 net=host 重新创建它: docker run --name mydb -p 1521:1521 -d --net=host mycompany.com:5000/docker-db:20.0.04 然后现在我可以'甚至没有连接是与system/abc123@127.0.0.1:1521/ORCL 错误 ORA-12541 返回:没有侦听器。
如何打开内部 docker 与 AWS 数据库服务器之间的连接?谢谢你。