前言

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

最新文章

  1. git之一
  2. angular 三目运算符 需要换色或style
  3. Delphi中WebBrowser拦截网页Alert对话框消息(转)
  4. 如何让 .Net Console 控制台显示界面在最上层
  5. DB2中时间格式化
  6. 用Scertify Professional实现代码审查
  7. [COM/ATL]浅析COM的思想及原理
  8. MVC 使用Jquery的$.post传递参数
  9. Jquery中attr 和 prop的区别和联系
  10. Codeforces 777C Alyona and Spreadsheet
  11. 【Luogu3806】点分治(点分治)
  12. input[type=file]的美化
  13. Redis的主从复制(十一)
  14. mysql函数之SUBSTRING_INDEX(str,"/",-1)
  15. repo命令详解
  16. centos 安装composer
  17. Mysql从库复制的2个问题
  18. Mac Apache Tomcat 配置
  19. jQuery基础笔记 事件(6)
  20. 从零开始的Python学习Episode 17——序列化

热门文章

  1. SpringBoot定时任务(schedule、quartz)
  2. webstorm 注册服务器
  3. STM32L1xx——sx1278开发之LoRa扩频技术基础知识
  4. golang 中Pointers Vs References
  5. 挺棒的七个Python图形应用GUI开发框架
  6. 粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构
  7. 置换的玩笑——DFS&&暴力
  8. docker自定义镜像仓库
  9. CMake编译OpenCV
  10. python下vs的使用