docker安装oracle 11g 企业版数据库

  弄了几周,终于把oracle 11g 安装到docker中了,今天就分享哈如何打造属于自己的oracle docker 镜像,特别说明:此镜像安装的是oracle 11g的企业版而非快速版
  实际上市面上还是有几个不错的oracle开源镜像,比如说registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g,相关的使用教程文档有很多,使用起来也很方便,大小有6个多g,而我自己的有9个多g,毕竟我不是专业的,能跑起来就不错了,所以服务器空间不是很大的还是不推荐使用我的dockerfile。
  另一个我参考的镜像是jaspeen/oracle-11g,这个镜像只有oracle的安装环境,实际上没有安装oracle,它只是把oracle需要的环境给配置好了,只需要运行时指定oracle的安装文件路径即可,我镜像的运行shell文件都是参考的这个镜像的shell文件(不知道作者看到这篇文章会不会告我侵权呢,所以赶紧收藏,以免被删了找不到了),相关使用可以参考链接

  话不多说,开始进入正文!!!
  1. 我使用的是oraclelinux:7-slim作为基础镜像,这是oracle官方的镜像,下载次数还是很多的,相对安全,应该不会右后门啥的;这个版本选择是参考oracle其他版本的dockerfile文件,用新版本理论上应该是可以的
在这里插入图片描述
  2. 编写dockerfile,我很不是很精通dockerfile的语法,就使用平常的命令来运行,可以当做借鉴

FROM oraclelinux:7-slim
COPY colorecho db_install.rsp dbca.rsp entrypoint.sh entrypoint_oracle.sh install.sh limits.conf profile run_installer.sh setup.sh sysctl.conf /assets/
COPY bashrc /root/.bashrc
RUN yum -y install unzip
ADD linux.x64_11gR2_database_1of2.zip /install/
ADD linux.x64_11gR2_database_2of2.zip /install/
RUN unzip /install/linux.x64_11gR2_database_1of2.zip -d /install
RUN unzip /install/linux.x64_11gR2_database_2of2.zip -d /install
RUN rm -rf /install/*.zip
RUN chmod 777 -R /assets/*.sh && /assets/setup.sh && /assets/install.sh
RUN echo "*************************  Oracle install OK  *************************"
RUN rm -rf /install/database
ENTRYPOINT ["/bin/sh","./assets/entrypoint.sh"]

  3. 文件结构,这个就得详细说明了,我就是运到了几个坑
在这里插入图片描述
bashrc:系统文件,放在系统根目录下的,默认是在root目录下的,用于配置系统环境变量,oraclelinux:7-slim是默认没有这个文件的,需要手动去复制进去,或者换一个基础镜像
db_install.rsp:静默安装的依赖文件,在安装时是没有界面交互的,都是通过命令去完成的,这个文件就把需要的命令工具放在这儿,安装的时候去调用
dbca.rsp:静默安装关于建库的依赖文件,可以提前设置好相关的数据库信息,例如密码,sid等
Dockerfile:docker创建镜像的执行文件,这个就不多说了
entrypoint.sh:安装oracle的入口脚本,会先去判断是否安装了oracle
entrypoint_oracle.sh:系统启动脚本,镜像运行时需要依赖此脚本
install.sh:安装oracle的脚本,因该是镜像创建初期的核心脚本,当然也可以在dockerfile中直接执行安装命令
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip:这两个就是oracle的安装包了,由于文件太大无法上传,需要自已去下载或者联系我也行
profile:安装需要的环境配置都在这个文件下
sysctl.conf:安装需要的系统配置都在这个文件下
setup.sh:安装oracle需要的环境依赖包脚本
以上是相关的文件说明,其他没说到的脚本属于可以没有的,可以不上传,但是图上标记的几个必须得有,相关资源我已经上传到CSDN上了(传送门)但是安装包没有上传,太大了上传不了,有需要的小伙伴可以去网上下载,或者私聊我进行获取,下载地址可以推荐一个https://www.linuxidc.com/Linux/2012-04/59064.htm

  4. 准备工作做好了,就可以开始创建镜像了,创建镜像的命令,能看这个文章的相信都会吧,镜像构建的时间比较长,耐心等待

docker build -t oracle-11g-ee .

构建完成后,我看到我的镜像文件有9个多G,和阿里的镜像差距还是很大的,不过反正我是自己用,也就不在意这些了
在这里插入图片描述
  5. 镜像构建了,接下来就开始运行,默认端口是1521,这个没改动,你想用其他的也行,首次启动容器,还需要等待oracle的侦听器启动,不知道为啥我的镜像的侦听器启动很慢,足足等了几分钟才能进行使用,所以如果你在本地使用工具连接提示侦听器失败,不要以为是自己的镜像有问题,实际上是侦听器没启动而已,

docker run -itd -p 1521:1521 --restart always --name oracle11g oracle-11g-ee

  6. 通过Navicat或者plsql连接oracle,使用system用户进行登录,我试过用sys用户,但是一直登录不了,但是在容器内用sqlplus就能登录,真它丫的奇怪。如果你没有改配置文件,默认密码是oracle,如果你想修改system用户密码,需要进入容器内进行修改
在这里插入图片描述

  以上就是我关于在docker中安装的oracle的一些操作,相比较使用其他的镜像还是挺安全的,毕竟你不知道其他镜像有没有啥后门之类的;核心脚本都是借鉴其他的人的,当然不用脚本只是dockerfile也是可以的,就看你自己怎么选择了
  
  最后,关于文章中的资源,除了安装包,其他资源我已经上传CSDN上了(传送门),没有积分无法下载的小伙伴也可以私聊我进行获取,我也有其他版本的docker文件
  
  看到这里能不能点个赞再走…

Docker安装Oracle 9i并不是直接可行的,因为Oracle 9i是一个较旧的本,并且官方已经停止支持。然而,如果你想在一个容器环境中运行Oracle数据库,通常会选择更现代的本,如Oracle Database 11g、12c或者更高。 如果你确实需要在Docker中运行Oracle数据库,可以考虑使用OracleDocker镜像或者安装基于LinuxOracle Container (LXCs)。以下是一个简化的概念,用于安装较新的Oracle本: 1. **安装Docker**: 首先确保你的系统上已安装Docker。你可以从docker.io下载并按照文档安装。 2. **获取Oracle Docker镜像**: 对于Oracle Database,访问Docker Hub上的官方镜像仓库 `registry.oracle.com/oracle/database`,找到适合你的数据库本的镜像。例如,`oracle/database:12.2 xe` 就是12.2本的企业。 ```bash docker pull oracle/database:12.2 xe ``` 3. **运行容器**: 使用`docker run`命令启动容器,指定必要的参数,如数据卷、环境变量等。 ```bash docker run -d --name my-oracle-container \ -p 1521:1521 \ -v /path/to/data:/u01/app/oracle \ oracle/database:12.2 xe ``` 这里 `-p` 是端口映射,`-v` 是数据卷,用于持久化数据库数据。 4. **配置数据库**: 登录到容器并通过SQL*Plus或其他工具连接数据库并进行初始化设置。 注意:这只是一个简化的指南,实际操作可能会更复杂,特别是涉及到许可证和安全配置。强烈建议查阅Oracle官方文档和相关教程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華小灼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值