學習來自 昨天晚上轉帖的文章 這里面添加一些自己的內容
首先獲取配置文件
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