oracle - Localhost 不将请求转发到 Oracle Docker 容器

标签 oracle docker docker-machine

我正在尝试从 Vagrant 切换到 Docker(现在回头太晚了)。

我已经删除了我的 Oracle Vbox,并且我有:

所以我使用这个命令创建了 Docker 容器:

docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-12c

然后我尝试使用无法访问的 localhost:8080/em 设置用户/权限等。

然后我打开Kinematic看看能不能找到我的容器IP,在那里我发现我的Docker容器IP是192.x.x.x

我能够登录到 192.x.x.x:8080/em 并设置我需要设置的内容。

当我指定 docker ip: 192.x.x.x 时,我的应用程序正在连接到 Docker

但它实际上应该是通过 localhost 连接的,为什么 localhost:8080/em 不工作,为什么应用程序无法通过 localhost 连接到 Docker 容器?

它适用于我所有其他队友,我使用的是 mac OS Sierra。

最佳答案

简答:

不管我在评论中怎么说,事实证明您在尝试连接到容器之前没有等待足够长的时间。显示日志以查看初始化何时完成,然后重试。

长答案:

我是这样操作的。首先,我启动了容器(为了简单起见,我只添加了 --name):

$> docker run -d -p 8080:8080 -p 1521:1521 --name oracle-12c sath89/oracle-12c

然后我尝试连接到容器,做了一个简单的操作:

$> curl http://localhot:8080
curl: (52) Empty reply from server

那没有用,所以我显示了容器的日志:

$> docker logs -f oracle-12c

它告诉我容器需要时间来启动,日志如下:

ls: cannot access /u01/app/oracle/oradata: No such file or directory
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
3% complete
11% complete
18% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
Configuring Apex console
Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
Starting web management console

PL/SQL procedure successfully completed.

Starting import from '/docker-entrypoint-initdb.d':
found file /docker-entrypoint-initdb.d//docker-entrypoint-initdb.d/*
[IMPORT] /entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*

Import finished

Database ready to use. Enjoy! ;)

我花了大约 15 分钟来初始化数据库。然后就可以了

关于oracle - Localhost 不将请求转发到 Oracle Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41188316/

相关文章:

docker : execute commands as a non-root user

oracle - 对象不再存在

sql - Oracle 相当于 Postgres 的 DISTINCT ON?

docker - 如何保护公共(public) docker hub 图像?

docker - 创建标签以将图像推送到存储库

amazon-web-services - 在创建具有Amazon AWS的通用Docker机器期间``等待SSH可用''

Docker 机器可以 ssh 但不能 scp

使用 Count 的 SQL,在同一单元格中多次出现相同的 "Like"

php - 为什么 PHP 的 oci_connect 不返回 false?

docker - 如何将许可证详细信息告知RavenDB抛出Docker-Compose?