连接到在Docker上运行的Oracle实例

时间:2018-09-24 22:00:05

标签: oracle docker

我在此上花了两天多的时间,但我的构想用光了,我真的希望这里有人能够提供帮助。

我正在Linux Fedora笔记本电脑上运行docker。

[julian@julian-hp ~]$ docker -v
Docker version 18.06.1-ce, build e68fc7a

我从另一台笔记本电脑(运行Linux Ubuntu)加载了oracle 12c映像,并使用以下命令运行了该映像:

docker run --name oracle_12c_201 -p 1521:1521 -p 5500:5500
-v /opt/dev/data/oracle/o12c_201_u02/:/opt/oracle/oradata
-e ORACLE_PWD=admin 12a359cd0528

创建容器并在运行docker ps时显示为正常:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                PORTS                                            NAMES
544917a88b6b        12a359cd0528        "/bin/sh -c '/bin/ba…"   2 days ago          Up 2 days (healthy)   0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp   oracle_12c_201

但是,当我尝试登录运行中的实例时,却收到ORA-01017: Invalid username/password; logon denied消息

我在互联网上找到的所有HOW TO都说,如果在使用docker run创建容器时未指定密码,则SYS密码将显示在此行下:

ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN:

我的日志中没有这样一行。请注意,我使用所有可能的排列删除了容器,例如以下-e "ORACLE_PWD=admin"之类的互联网文章,或者在使用docker run运行sudo时未指定密码。

当尝试使用以下方式更改密码时:

docker exec oracle_12c_201 ./setPassword.sh admin

它失败,并显示以下错误消息:

OCI runtime exec failed: exec failed: container_linux.go:348: starting container
process caused "exec: \"./setPassword.sh\": stat ./setPassword.sh:
no such file or directory": unknown

我没主意了。从日志中可以看到数据库已启动并正在运行,但是只要我无法连接它就没有用。请注意,同一张图片运行正常,我可以在另一台运行Linux Ubuntu的笔记本电脑上毫无问题地连接到它。不幸的是,我不再拥有用于在该计算机上安装oracle的命令。

预先感谢您的帮助。

0 个答案:

没有答案