连接到在Docker上运行的Oracle XE

我试图连接到在我的Mac上的docker上运行的Oracle XE。

docker run -d -p 49160:22 -p 49161:1521 wnameless/oracle-xe-11g $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 105d84763b6c wnameless/oracle-xe-11g "/bin/sh -c '/usr/sbi" 4 minutes ago Up 4 minutes 8080/tcp, 0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp hopeful_pasteur 

当我绑定通过SQL Developer与以下凭据连接:

 hostname: localhost port: 49161 sid: xe username: system password: oracle 

我收到错误:

 Failure - Test failed: The Network Adapter could not establish the connection 

Docker日志显示:

 Starting Oracle Net Listener. Starting Oracle Database 11g Express Edition instance. 

我想你正在使用Windows或OSX,所以你不应该使用本地主机的主机名,而是你应该使用你的docker机器的IP地址即

 docker-machine ip default >172.16.34.132