学习来自 昨天晚上转帖的文章 这里面添加一些自己的内容
首先获取配置文件
git clone https://github.com/oracle/docker-images.git
获取之后比较容易了 可以看一下文件结构
里面有非常多的内容. 可以创建很多不同的镜像
我这边进入的目录是
本次暂时使用 single database 不使用 Oracle rac 模式的.
/docker-images-master/OracleDatabase/SingleInstance/dockerfiles
可以看到文件结果如图示
昨天那晚上测试过 oracle19c的了 今天准备继续测试 Oracle12c的
进入 12.2.0.1的目录就可以了. (注意zip 文件是我放进去的)
注意 这里面需要记性一些简单的处理 我这边最简单的处理是 修改了 dbca.rsp.tmpl
添加自己的字符集处理 不然 创建的数据库实例字符集 可能有问题 会报错
一个小技巧
如果你的版本不是 要求的zip包的版本可以修改这个文件
简单计算一下你放进去的文件就可以了.
[root@CentOS77 12.2.0.1]# cat Checksum.ee 1841f2ce7709cf909db4c064d80aae79 linuxx64_12201_database.zip
创建命令比较简单
./buildDockerImage.sh -v 12.2.0.1 -e -v 选择版本 注意需要跟文件夹匹配 -e 是企业版
开始创建镜像了:
可以看到安装步骤:
公司网络比较垃圾 会很多 异常失败 需要多等待..
我开了一个SCREEN 让他自己跑
这里面自己修改的主要就是字符集了.
运行的话 模仿上一个 转帖的内容
先创建目录 还修改权限
mkdir /ora12cr2 chmod 777 /ora12cr2 chown oracle:oinstall /ora12cr2
然后执行创建镜像的操作
注意 我19c的镜像已经占用了 1521和 5500 所以只能换一个端口了.
docker run -d --name oracle-12cr2 \ -p 1522:1521 -p 5502:5500 \ -e ORACLE_SID=ora12cr2 \ -e ORACLE_PDB=ora12cr2pdb \ -e ORACLE_PWD=Test1127 \
-e ORACLE_BASE=/opt/oracle \
-e ORACLE_HOME=/opt/oracle/product/12.2.0.1/dbhome_1 \
-e PATH=/opt/oracle/product/12.2.0.1/dbhome_1/bin:/opt/oracle/product/12.2.0.1/dbhome_1/OPatch/:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ -v /ora12cr2:/opt/oracle/oradata \ oracle/database:12.2.0.1-ee
一会儿就好了.
可以显示一个 我这边连接 昨天晚上19c的图
安装完成的提示
Oracle Database Docker Image for 'ee' version 12.2.0.1 is ready to be extended: --> oracle/database:12.2.0.1-ee Build completed in 3153 seconds.
不过 12c 可耻的失败了..再查一下
[root@CentOS77 /]# docker logs oracle-12c ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: Test1127 /opt/oracle/createDB.sh: line 63: dbca: command not found cat: /opt/oracle/cfgtoollogs/dbca/ORA12C/ORA12C.log: No such file or directory cat: /opt/oracle/cfgtoollogs/dbca/ORA12C.log: No such file or directory mv: cannot stat '/opt/oracle/product/12.2.0.1/dbhome_1/dbs/spfileORA12C.ora': No such file or directory mv: cannot stat '/opt/oracle/product/12.2.0.1/dbhome_1/dbs/orapwORA12C': No such file or directory mv: cannot stat '/opt/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora': No such file or directory ORACLE_HOME = [/home/oracle] ? ORACLE_BASE environment variable is not being set since this information is not available for the current user ID . You can set ORACLE_BASE manually if it is required. Resetting ORACLE_BASE to its previous value or ORACLE_HOME The Oracle base remains unchanged with value /opt/oracle /opt/oracle/checkDBStatus.sh: line 26: sqlplus: command not found ##################################### ########### E R R O R ############### DATABASE SETUP WAS NOT SUCCESSFUL! Please check output for further info! ########### E R R O R ############### ##################################### The following output is now a tail of the alert.log: tail: cannot open '/opt/oracle/diag/rdbms/*/*/trace/alert*.log' for reading: No such file or directory tail: no files remaining