前言

我们在手动安装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. element-ui表格带复选框使用方法及默认选中方法

    一.实现多选:步骤1:在表格中添加一列 步骤2:在data中定义以及数组用来存储选中的元素.例如:multipleSelection:[] selection-change方法用户实时监听选中元素 实 ...

  2. C和指针--链表

    1.链表的基本概念 链表(linked list)是一些包含数据的节点的集合.链表中的每个节点通过链或指针连接在一起.程序通过指针访问链表中的节点.通常节点是动态分配的. 2.链表的分类 链表可分为: ...

  3. [Abp vNext微服务实践] - 启动流程

    前几篇分别介绍了abp vNext微服务框架和微服务CI/CD环境搭建,本篇开始介绍vNext微服务框架的开发环境搭建. 环境准备 官方介绍的系统架构图如下: 上图中身份服务和网关服务已经集成在系统中 ...

  4. linux命令 - nohup

    nohup command & nohup scrapy crawl eeo > /home/wangliang/eeo.log & nohou 需要后台的命令 打印的日志位置 ...

  5. C#中 委托和事件的关系

    首先,委托 是一个好东西.按我的理解,委托 是针对 方法 的更小粒度的抽象.比较interface,他精简了一些代码.使得 订阅-通知 (观察者模式)的实现变得非常简洁. 关于事件,我最初的理解是:事 ...

  6. R的数据结构--数组

    数组:可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上.如果给定的数组是1维的则相当于向量,2维的相当于矩阵. R语言中的数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型 参数解释 ar ...

  7. CF1157F Maximum Balanced Circle

    思路 观察到答案一定是连续的一段下凸函数或者上凸函数 直接模拟找出即可 时间复杂度为\(O(n)\) 代码 #include <cstdio> #include <cstring&g ...

  8. UOJ117 欧拉回路[欧拉回路]

    找欧拉回路的模板题. 知识点详见图连通性学习笔记. 注意一些写法上的问题. line37&line61:因为引用,所以j和head值是同步更新的,类似于网络流的当前弧优化,除了优化枚举外,这样 ...

  9. JDK、JRE、JVM的区别与关系

    JDK JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品. JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里 ...

  10. JavaScript实现 简易 堆

    有两个原始操作用于保证插入或删除节点以后堆是一个有效的最大堆或者最小堆: shiftUp(): 如果一个节点比它的父节点大(最大堆)或者小(最小堆),那么需要将它同父节点交换位置.这样是这个节点在数组 ...