在 Docker 上连接到 Oracle XE 运行

Connecting to Oracle XE running on Docker

我正在尝试连接到我的 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 开发人员连接到它时,具有以下凭据:

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,因此您不应使用 localhost 作为主机名,而应使用 docker 机器的 IP 地址,即

docker-machine ip default
>172.16.34.132