使用 docker 快速安装 oracle 11g

 前言

我们在手动安装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

原文地址:https://www.cnblogs.com/murry/p/11905355.html