我已经注册了 oracle 数据库的 docker 镜像,并获得了下面的链接来拉取镜像。
docker pull store/oracle/database-enterprise:12.2.0.1
页面上没有其他标签可供查看。但不知怎么的,我得到了有关 12.1.0.2 的信息
使用 12.2.0.1,我可以运行数据库并连接到它。但使用 12.1.0.2,数据库无法连接。
docker service create --with-registry-auth --network=oracle_net --name Oracledb_39 -p target=1521 store/oracle/database-enterprise:12.2.0.1
上述容器正在运行,但如果我使用以下标签,数据库就不会连接。
docker service create --with-registry-auth --network=oracle_net --name Oracledb_39 -p target=1521 store/oracle/database-enterprise:12.1.0.2
12.1.0.2用dbeaver客户端连接:
但可以连接 12.2.0.1
请建议如何连接到 12.1.0.2 或任何 12.1.x
另外,请分享如何查看 Oracle 数据库 docker 镜像的所有可用标签。
我已经将它部署到 Swarm 中进行测试,与直接使用 docker run 得到的结果相同。
docker exec -it Oracledb_38.1.k3who8un6hs9vulwljwvhx4x4 sqlplus sys@ORCLCDB
容器内部:
[root@bf9581972c5a /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 12:07 ? 00:00:00 /bin/bash /home/oracle/setup/dockerInit.sh
root 34 1 0 12:09 ? 00:00:00 tail -f /home/oracle/setup/log/dockerInit.log
root 40 0 0 19:09 pts/0 00:00:00 bash
root 60 40 0 19:10 pts/0 00:00:00 ps -ef
[root@bf9581972c5a /]# sqlplus
bash: sqlplus: command not found
容器日志:
[ec2-user@ip-172-31-47-251 ~]$ docker logs Oracledb_38.1.k3who8un6hs9vulwljwvhx4x4
User check : root.
Setup Oracle Database
Oracle Database 12.1.0.2 Setup
Tue Aug 3 12:07:09 UTC 2021
Check parameters ......
log file is : /home/oracle/setup/log/paramChk.log
paramChk.sh is done at 0 sec
untar DB bits ......
log file is : /home/oracle/setup/log/untarDB.log
untarDB.sh is done at 153 sec
config DB ......
log file is : /home/oracle/setup/log/configDB.log
grep: /home/oracle/setup/log/configDBora.log: No such file or directory
configDB.sh is done at 153 sec
Done ! The database is ready for use .
Tue Aug 3 12:07:09 UTC 2021
User check : root.
Setup Oracle Database
容器仅处于运行状态,但当我尝试使用 dbeaver 或任何其他 oracle 客户端应用程序时无法连接到它。
答案1
您最好通过检查容器状态来检查 DB 是否正在运行。
此链接包含大量有关容器中 Oracle 的信息(来源:查克和他的评论)。
wrt 标签,这似乎是一张旧图像,请检查docker inspect ...
一下它的制作时间。您可能还会看到其他标签。
对于较新的版本,您可以查看以下说明如何自行构建: https://github.com/3scale/oracle-database
更新:有关构建 Oracle 映像的更多官方说明的链接https://github.com/oracle/docker-images