oracle数据库docker镜像制作
oracle数据库docker镜像制作
目录
一、官网下载docker-images
下载docker-images代码,然后到linux上解压。
> oracle/docker-images
https://github.com/oracle/docker-imageshttps://github.com/oracle/docker-images
2.进入到OracleDatabase这个目录下
RAC应该是集群。
SingleInstance是单节点的。
根据自己需要,进入到对应的目录在进入到dockerfiles目录
cd docker-images/OracleDatabase/SingleInstance/dockerfiles/
每个目录对应不通的版本,将你从官网下载的oracle版本放入到对应的目录,然后按照buildContainerImage.sh脚本的帮助文档 执行对应的命令和添加对应的参数
每个目录对应不通的版本,将你从官网下载的oracle版本放入到对应的目录,然后按照buildContainerImage.sh脚本的帮助文档 执行对应的命令和添加对应的参数
Usage: buildContainerImage.sh -v [version] -t [image_name:tag] [-e | -s | -x] [-i] [-o] [container build option]
Builds a container image for Oracle Database.
Parameters:
-v: version to build
Choose one of: 11.2.0.2 12.1.0.2 12.2.0.1 18.3.0 18.4.0 19.3.0 21.3.0
-t: image_name:tag for the generated docker image
-e: creates image based on 'Enterprise Edition'
-s: creates image based on 'Standard Edition 2'
-x: creates image based on 'Express Edition'
-i: ignores the MD5 checksums
-o: passes on container build option
* select one edition only: -e, -s, or -x
LICENSE UPL 1.0
Copyright (c) 2014,2021 Oracle and/or its affiliates.
详细介绍见官网readmehttps://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance
二、躲坑重点
主要是红框圈起来的地方。
1.第一个地方说明每个版本 在执行buildContainerImage.sh 脚本时跟的参数比如 11g 是-x,12c 是既可以-e也可以-s
2.第二个就比较重点了,需要将下载下来的oracle包名称改成 linuxx64_<version>_database.zip 这种格式的,19c不需要直接在官网下载Linux x86-64 这个版本的就行,但是12c和11g不一样,因为我12c 是在 这个里面下载的名称不一样需要手动改下。
https://edelivery.oracle.com/osdc/faces/SoftwareDeliveryhttp://xn--oracle-database-gk3xc15iiiaj388g
11g就更牛逼了,不能用linuxx64_<version>_database.zip 这种格式的,他需要 oracle-xe-11.2.0-1.0.x86_64.rpm.zip 这个格式的安装包,详细可以看
/root/oracle-image/docker-images-main/OracleDatabase/SingleInstance/dockerfiles/11.2.0.2
这个下的 Dockerfile.xe
三、重点提醒
1.oracle 需要的是 oracle-xe-11.2.0-1.0.x86_64.rpm.zip 这个安装包。
2.在镜像制作完成后 docker run的时候 要加上 --shm-size="2g" 来设置容日的内存,如果不设置会导致容器启动失败。
3.sqlplus 出现 ORA-12547: TNS:lost contact
执行 chmod 6751 $ORACLE_HOME/bin/*
更多推荐
所有评论(0)