前言

我们在手动安装oracle数据库时,安装步骤纷繁复杂,耗时较长

在此介绍如何使用docker快速安装oracle 11g

一、docker 及其安装环境

操作系统:

[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

docker 版本:

[root@centos7 ~]# docker -v
Docker version 1.13.1, build 7f2769b/1.13.1

docker 安装方式:

yum update && yum -y install docker

docker 使用详细信息可查看 https://www.cnblogs.com/murry/p/9332747.html

二、docker 镜像拉取以及启动

docker hub 镜像拉取以及查看

docker pull jaspeen/oracle-11g
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jaspeen/oracle-11g latest 0c8711fe4f0f 4 years ago 281 MB

创建宿主机 oracle 安装目录以及数据目录

mkdir -p /server/oracle
mkdir -p /server/dpdump

下载 oracle 并存放于服务器中

oracle 下载网址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

[root@centos7 oracle]# ls
linux.x64_11gR2_database_1of2 linux.x64_11gR2_database_2of2

解压缩并删除安装包

[root@centos7 oracle]# ls
database

启动 docker

docker run -d --privileged -p 1521:1521 -v /server/oracle:/install -v /server/dpdump:/opt/oracle/dpdump --name=oracle11g jaspeen/oracle-11g

启动命令解析:

-d :后台运行容器,并返回容器ID;

--privieged:开启特权模式;

-p:宿主机与 docker 的端口映射;

-v:绑定一个数据卷;

--name:起一个容器名;

启动后查看容器运行状况

[root@centos7 oracle]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c5e913b4e96b jaspeen/oracle-11g "/assets/entrypoin..." 3 days ago Up 3 seconds 0.0.0.0:1521->1521/tcp, 8080/tcp oracle11g

此时一个 oracle 11g docker 已经启动

三、自己的 docker 镜像制作

由于版权问题,拉取下来的 docker 镜像是不包含任何版本的 oracle 的

故在启动 docker 后,需要创建一个自己的镜像以备使用

提交 docker 镜像以及查看

[root@centos7 oracle]# docker commit oracle11g oracle11g-installed
[root@centos7 oracle]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
oracle11g-installed latest 4a55732efad1 3 days ago 2.83 GB
docker.io/jaspeen/oracle-11g latest 0c8711fe4f0f 4 years ago 281 MB

进入 docker 容器内查看

一共有两种方式,可以使用容器ID或者使用 docker run 时设置的 name

[root@centos7 oracle]# docker exec -it c5e913b4e96b bash
[root@c5e913b4e96b /]#
[root@centos7 oracle]# docker exec -it oracle11g bash
[root@c5e913b4e96b /]#

当然,可以设置一个别名,更方便进入容器内

[root@centos7 oracle]# vim ~/.bashrc
末行加入:
alias oracle='docker exec -it c5e913b4e96b bash' 使文件生效:
source ~/.bashrc

至此一个 oracle 11g 容器制作完成

更多详细使用方式以及信息、dockerfile 请查看 docker hub:

https://hub.docker.com/r/jaspeen/oracle-11g

使用 docker 快速安装 oracle 11g的更多相关文章

  1. Oracle安装部署之linux(redhat/centos)快速安装oracle 11g rac

    安装oracle 11gR2 RAC 一.网络规划及安装虚拟主机 主机名 主机版本 Ip rac1.localdomain Redhat 6.5 RAC节点1 192.168.100.11 rac2. ...

  2. 利用Docker快速部署Oracle环境

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...

  3. centos安装oracle 11g 完全图解

    摘要: 说明: Linux服务器操作系统:CentOS 5.8 32位(注意:系统安装时请单独分区/data用来安装oracle数据库) Linux服务器IP地址:192.168.21.150 Ora ...

  4. 在Windows 10上安装Oracle 11g数据库出现的问题及解决

    在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Editi ...

  5. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  6. Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

    本文主要描写叙述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g開始,Oracle官方站点不再提供其Patch的下载链接,须要使用Meat ...

  7. 安装ORACLE 11g 64位 pl/sql无法进入的问题。

    转载自网上的内容: 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载地址:http://www ...

  8. windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help

    windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help 在windows8操作系统上安装 ...

  9. CentOS Linux 系统 安装oracle 11g

    CentOS Linux 系统 安装oracle 11g 在Linux系统上安装oracle是比较麻烦,需要配置各种变量啥的,o(︶︿︶)o ,但是没办法,有些东西你总的去接触,而且接触理解的越早越深 ...

随机推荐

  1. LEANGOO用户设置

    转自:https://www.leangoo.com/leangoo_guide/leangoo_guide_kanban_user.html#toggle-id-7 1. 点击屏幕右上角头像或用户名 ...

  2. insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter

    手动加载内核模块时候,报如下错误信息 insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter 问题原 ...

  3. kubernetes之健康状态检测

    1.说明 容器探针: kubelet 对容器执行的定期诊断 探针执行方式: LivenessProbe: 判断容器是否存活 running状态, 如果不健康kubelet就会杀掉pod,根据重启策略R ...

  4. python基础:数据类型二

    一.元组类型 二.字典类型 三.集合 一.元组类型 # 什么是元组: 元组就是一个不可变的列表 # ======================================基本使用======== ...

  5. 计算机基础与python入门

    一.计算机.cpu与存储器 二.操作系统.编程语言及编写python.变量 三.数据类型.输入输出及基本运算 四.流程控制之if判断.while与for循环 一.计算机.cpu与存储器 1. 什么是编 ...

  6. httpd安装mod_jk模块

    1.1 使用yum安装的httpd安装mod_jk模块 mod_jk模块下载地址官网 安装httpd和httpd-devel(这个包会有apxs必须要有的) [root@apache ~]# yum ...

  7. 用实例的方式去理解storm的并发度

    什么是storm的并发度 一个topology(拓扑)在storm集群上最总是以executor和task的形式运行在suppervisor管理的worker节点上.而worker进程都是运行在jvm ...

  8. java -为什么重写equals(),还需要重写hashCode()?

    1.先post这两个方法的基本定义: equals()的定义: 浅谈Java中的equals和==(转) hashCode()的定义: java中hashCode()方法的作用 Java中hashCo ...

  9. Windows环境下使用uiautomatorviewer进行元素定位

    一.摘要 元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作,uiautomatorviewer 是 android-sdk 自带的一个元 ...

  10. 鼠标点击自定义文字展现特效JS代码

    JS特效使用方法 只需将如下JS代码放到</body>之前就好了 var a_idx = 0; jQuery(document).ready(function($) { $("b ...