Oracle 12c容器镜像制作
对于 Oracle 数据库的容器镜像制作,Oracle 官方提供了 Dockerfile 文件和制作脚本。
制作步骤
1. 下载官方 Dockerfile 和制作脚本
1 | $ git clone https://github.com/oracle/docker-images.git |
2. 准备数据库安装文件
将数据库安装文件放置在 docker-images/OracleDatabase/SingleInstance/{version} 目录下。
注意:脚本中默认的文件名为
linuxx64_12201_database.zip,如果使用V839960-01.zip文件,需要创建符号链接:
1 | ln -s V839960-01.zip linuxx64_12201_database.zip |
3. 运行构建脚本
进入 docker-images/OracleDatabase/SingleInstance 目录,运行构建脚本:
1 | $ sudo ./buildContainerImage.sh -e -v 12.2.0.1 |
参数说明:
-e:安装企业版本(Enterprise Edition)-v:指定版本号(如 12.2.0.1)
注意:这一步运行时间较长,需要耐心等待。安装完成后会创建一个容器镜像,大小约 6GB。
构建完成后验证镜像:
1 | $ sudo docker images |
输出示例:
REPOSITORY TAG IMAGE ID CREATED SIZE
oracle/database 12.2.0.1-ee 0650dcb96360 12 hours ago 6.01GB
oraclelinux 7-slim 970e50328c70 7 weeks ago 138MB
4. 启动容器实例
根据实际需求修改端口、SID、密码等参数:
1 | $ sudo docker run --name oracle12c \ |
参数说明:
-p 1521:1521:Oracle 数据库监听端口-p 5500:5500:Oracle Enterprise Manager 管理端口-p 2484:2484:Oracle TCPS 端口--ulimit:设置文件描述符、进程数、堆栈、内存锁等限制ORACLE_SID:Oracle 系统标识符ORACLE_PDB:可插拔数据库名称ORACLE_PWD:SYS/SYSTEM 用户密码ENABLE_ARCHIVELOG:启用归档日志ENABLE_TCPS:启用 TCPS 安全连接
5. 验证部署
连接到容器验证:
1 | $ sudo docker exec -it oracle12c sqlplus sys/mypassword as sysdba; |
或者:
1 | $ sudo docker exec -it oracle12c sqlplus system/mypassword; |
在 SQL*Plus 中执行查询验证:
1 | SQL> select * from v$session; |