连接Docker oracle EE + sqlplus

我正在尝试将官方的sqlplus docker容器连接到官方的Oracle数据库EE

首先我启动Oracle Database EE容器:

$docker run -d -it --name OracleEE -P store/oracle/database-enterprise:12.2.0.1 $docker port OracleEE 1521/tcp -> 0.0.0.0:32773 5500/tcp -> 0.0.0.0:32772 $docker inspect OracleEE | grep -i IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.2", "IPAddress": "172.17.0.2", 

现在,我如何连接到这个数据库?

在docker的图像文档我读:

您可以交互式运行一个容器来执行SQL * Plus中的临时SQL和PL / SQL语句:

docker run -ti –rm store / oracle / database-instantclient:12.2.0.1 sqlplus hr/welcome@example.com/pdborcl

出于这个原因,我明白这个命令必须工作:

  $docker run -ti --rm store/oracle/database-instantclient:12.2.0.1 sqlplus sys/Oradoc_db1@172.17.0.2:32773/orcl.localdomain 

但是,响应是以下错误:

  SQL*Plus: Release 12.2.0.1.0 Production on Wed Sep 20 11:42:31 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. ERROR: ORA-12541: TNS:no listener Enter user-name: 

我的错误在哪里?

我解决了我的问题。 问题是容器之间的通信。 我需要添加一个链接

  docker run -it --rm --link OracleEE:db store/oracle/database-instantclient:12.2.0.1 sqlplus64 sys/Oradoc_db1@db:1521/ORCLCDB.localdomain as sysdba 

现在工作正常!