oracle docker镜像build实践

一、下载oracle安装包

此处省略,可以注册oracle官网地址或者从其他渠道获取

二、build docker镜像

1、克隆oracle官方镜像构建工程,地址如下

https://github.com/oracle/docker-images.git

2、进入构建目录,例如

/home/software/oracle-docker/docker-images/OracleDatabase/SingleInstance/dockerfiles

将下载的oracle二进制安装包修改名称,放到对应的版本号对应的目录下

例如本次下载的12.2.0.1版本,下载后文件名称是linux64.zip,修改压缩包名称为 linuxx64_12201_database.zip,然后放置到克隆下来的

/home/software/oracle-docker/docker-images/OracleDatabase/SingleInstance/dockerfiles/12.2.0.1 路径下

3、执行build(build前docker要更新到19版本,否则会报错)

进入docker-images/OracleDatabase/SingleInstance/dockerfiles目录,按照我们下载的oracle版本进行build

sh buildContainerImage.sh -v 12.2.0.1 -t oracle1201:1.0 -s

 

三、运行container

build成功之后会自动load镜像,按照说明参数正常启动即可

docker run --name oracle1201 \
-p 1521:1521 -p 5500:5500 -p 2484:2484 \
--ulimit nofile=1024:65536 --ulimit nproc=2047:16384 --ulimit stack=10485760:33554432 --ulimit memlock=3221225472 \
-e ORACLE_SID=orcl \
-e ORACLE_PDB=pdb1 \
-e ORACLE_PWD=test1234 \
-e INIT_SGA_SIZE=1024 \
-e INIT_PGA_SIZE=1024 \
-e INIT_CPU_COUNT=2 \
-e INIT_PROCESSES=16 \
-e ORACLE_EDITION=12.2.0.1 \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-e ENABLE_ARCHIVELOG=true \
-e ENABLE_TCPS=true \
-v /data1/oracle_data:/opt/oracle/oradata \
oracle1201:1.0

运行参数最后的-v目录映射时,主机上的目录可以指定777权限,以免运行容器时写权限不足

容器启动时,会打印创建database的过程日志,这里有个问题,如果是当前终端执行,docker run会占用当前的终端,Ctrl+C终端会停止容器,所以可以后台方式启动上面的容器

四、登录oracle

如果容器启动正常,就可以使用主机地址正常访问,sys密码就是容器启动时ORACLE_PWD参数指定的密码

sqlplus sys/test1234@//9.168.12.22:1521/orcl as sysdba

 

上面的步骤在官方指定中都有说明,原文地址如下:

https://github.com/oracle/docker-images/blob/main/OracleDatabase/SingleInstance/README.md

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据