用 Docker 搭建 ORACLE 数据库开发环境

需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题。

还好,现在有 Docker 化的部署方式,省去很多麻烦。

以下核心内容来自 ORACLE 的项目:https://github.com/oracle/docker-images

Step 1:下载安装包

把 XE 版本的 ORACLE 安装包下来:下载链接

Step 2:build docker image

GitHub 上把 oracle 的 docker 项目 clone 下来:https://github.com/oracle/docker-images

Step 1 下载的安装包,放在项目的 OracleDatabase/SingleInstance/dockerfiles/11.2.0.2 目录下,在目录下运行:

docker build -t oracle/database:11.2.0.2-xe -f Dockerfile.xe .
 

Step 3:运行

docker run --name myoraclexe \
--shm-size=1g \
-p : -p : \
-e ORACLE_PWD=xxxxxx \
-v /xxx/xxx/xxx/app/oracle/oradata \
oracle/database:11.2.0.2-xe
docker stop myoraclexe docker start myoraclexe

Step 4:连接测试

sqlplus system/xxxxxx@//localhost:1521/XE

CREATE USER demo IDENTIFIED BY demo;
GRANT CONNECT, RESOURCE, DBA TO demo;
 

完,就这么简单!

执行过程中报错

[root@localhost 11.2.0.2]# docker build -t oracle/database:11.2.0.2-xe -f Dockerfile.xe .
Sending build context to Docker daemon .574GB
Step / : FROM oraclelinux:-slim
---> 874477adb545
Step / : MAINTAINER Gerald Venzl <gerald.venzl@oracle.com>
---> Using cache
---> 90d13a9a6663
Step / : ENV ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.2./xe ORACLE_SID=XE INSTALL_FILE_1="oracle-xe-11.2.0-1.0.x86_64.rpm.zip" INSTALL_DIR="$HOME/install" CONFIG_RSP="xe.rsp" RUN_FILE="runOracle.sh" PWD_FILE="setPassword.sh" CHECK_DB_FILE="checkDBStatus.sh"
---> Using cache
---> 5bc65d1d34a0
Step / : ENV PATH=$ORACLE_HOME/bin:$PATH
---> Using cache
---> 62099ecec7ee
Step / : COPY $INSTALL_FILE_1 $CONFIG_RSP $RUN_FILE $PWD_FILE $CHECK_DB_FILE $INSTALL_DIR/
COPY failed: stat /var/lib/docker/tmp/docker-builder133837941/oracle-xe-11.2.-1.0.x86_64.rpm.zip: no such file or directory

大约是因为dockerfile中定义的  oracle-xe-11.2.0-1.0.x86_64.rpm.zip 找不到,我下载下来的是 oracle-database-xe-18c-1.0-1.x86_64.rpm

修改Dockerfile.xe

重新执行上边的命令

报错2:

Total download size:  M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

执行:

yum -y  install deltarpm

重新执行docker命令

用 Docker 搭建 ORACLE 数据库开发环境的更多相关文章

  1. 如何通过Docker搭建一个swoft开发环境

    本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...

  2. Mac下docker搭建lamp本地开发环境

    1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $  ...

  3. VS2017离线安装与Oracle数据库开发环境搭建

    记得之前使用VS2015打开老的MVC4项目,不能右键创建控制器和添加视图,让我非常不习惯!找遍了网络无果,最后只能回到VS2013,但我就是不喜欢用旧的VS,这是不是病... 1.将VS2017离线 ...

  4. 利用Docker搭建java项目开发环境

    一.需求 一台 Ubuntu 16.0.4 LTS ,安装了Docker服务,Rancher服务,也制作了Tomcat相关的image,接下来我们就来说一下如何快速的构建一个开发环境和测试环境 二.步 ...

  5. 【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建

    原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...

  6. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  7. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  8. Docker搭建便捷的开发者环境

    你可能遇到这样的场景:开发软件时,需要像数据库(mysql,mongodb).消息系统(rabbitmq).缓存服务(redis)等其它依赖服务.当然我们可以找台机器,一步步安装依赖,然后把所有依赖的 ...

  9. 使用docker搭建selenium grid 分布式环境

    本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...

随机推荐

  1. 从零开始搭建react应用

    用create-react-app搭建react应用,了解npm run start的工作过程. 第一步:安装脚手架 create-react-app 1. 在node里 npm install cr ...

  2. CSS3溢出文字省略

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. vue 编译警告 Compiled with 4 warnings

    问题原因: windows下盘符的大小写导致的. 我在cmd里运行的时候,是切换到小写,改成大写的E盘符就没问题了

  4. http协议:http请求、http响应、间隔时间跳转页面、禁用浏览器缓存

    转自:https://blog.csdn.net/u013372487/article/details/46991623 http协议 1. http协议是建立在  tcp/ip协议基础上. 2. 我 ...

  5. ActiveMQ基础简介

    1. 什么是ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 ...

  6. 视频大文件分片上传(使用webuploader插件)

    背景 公司做网盘系统,一直在调用图片服务器的接口上传图片,以前写的,以为简单改一改就可以用 最初要求 php 上传多种视频格式,支持大文件,并可以封面截图,时长统计 问题 1.上传到阿里云服务器,13 ...

  7. 迭代器遍历【List、Set、Map】

    迭代器遍历[List.Set.Map] example package boom.collection; import java.util.ArrayList; import java.util.Ha ...

  8. Pysnooper 一款大受欢迎的Debug模块

    Github地址 安装 PIP pip install pysnooper import pysnooper @pysnooper.snoop() def number_to_bits(number) ...

  9. Python制作的射击游戏

    如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线.] 你有没有想过电脑游戏是怎样制作出来的?其实它没有你想象的那样复杂! 在这个教程里,你要学做一个叫<兔子和獾>的塔防游戏,兔子作 ...

  10. IPC之syscall.c源码解读

    // SPDX-License-Identifier: GPL-2.0 /* * sys_ipc() is the old de-multiplexer for the SysV IPC calls. ...