oracle作为oltp的大佬,非常多行业应用都会用到它。那么在开发的过程中就不可避免的要使用oracle数据库,oracle数据库的版本号有好多,当中express版本号是免费的开发版。它的主要限制是数据库的大小最大1G。和一些性能的限制,所以拿来做开发还是比較合适的。

以下介绍下如何使用装了oracle的 docker容器来进行开发:

首先。介绍一下docker-oracle这个image。他是在ubuntu的基础上安装oracle xe版本号来完毕的。

它的docker file例如以下:

FROM wnameless/xe-temp

MAINTAINER Alexei Ledenev <alexei.led@gmail.com>

ADD chkconfig /sbin/chkconfig
ADD init.ora /
ADD initXETemp.ora / RUN apt-get install -y libaio1 net-tools bc
RUN ln -s /usr/bin/awk /bin/awk
RUN mkdir /var/lock/subsys
RUN chmod 755 /sbin/chkconfig
RUN ln -s /proc/mounts /etc/mtab RUN dpkg --install /tmp/oracle-xe_11.2.0-1.0_amd64.deb RUN mv /init.ora /u01/app/oracle/product/11.2.0/xe/config/scripts
RUN mv /initXETemp.ora /u01/app/oracle/product/11.2.0/xe/config/scripts RUN printf 8080\\n1521\\noracle\\noracle\\ny\\n | /etc/init.d/oracle-xe configure RUN echo 'export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe' >> /etc/bash.bashrc
RUN echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /etc/bash.bashrc
RUN echo 'export ORACLE_SID=XE' >> /etc/bash.bashrc EXPOSE 22
EXPOSE 1521
EXPOSE 8080 CMD sed -i -E "s/HOST = [^)]+/HOST = $HOSTNAME/g" /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora; \
service oracle-xe start; \
/usr/sbin/sshd -D

放上这dockerfile的主要目的是为了看清它是如何创建的。

然后。pull一个已经装好oracle xe的image。

docker pull alexeiled/docker-oracle-xe-11g

也能够到我的小站 http://www.dockerpool.com上下载

命令例如以下:

docker  pull dl.dockerpool.com:5000/alexeiled/docker-oracle-xe-11g

用新下载的image启动一个oracle容器,打开22 1521 8080 端口

docker run -d -p 22:22 -p 1521:1521 -p 8080:8080 alexeiled/docker-oracle-xe-11g

以下是一些容器的基本信息:

oracle:    
  sid xe
  system oracle
操作系统:    
  root admin
     

这样我们就能用这个容器来进行开发了,比方一个项目须要3个oracle server:

docker run -d -p 101:22 -p 1521:1521 -p 8080:8080  --name oracle1 alexeiled/docker-oracle-xe-11g

docker run -d -p 102:22 -p 1522:1521 -p 8081:8080  --name oracle2 alexeiled/docker-oracle-xe-11g

docker run -d -p 103:22 -p 1523:1521 -p 8082:8080  --name oracle3 alexeiled/docker-oracle-xe-11g

启动脚本也能够简单的写成 docker start oracle1 oracle2 oracle3

这对于高速搭建带oracle的开发环境还是有些益处的。

docker 实战---使用oracle xe作为开发数据库(六)的更多相关文章

  1. Oracle XE自带数据库创建的过程

    Oracle XE自带数据库如何创建的?XE.sql脚本定义实例究竟是怎样的?阅读下文,您可以找到这些问题的答案. Oracle XE自带数据库是如何创建的呢?这是很多人都提到过的问题,下面就为您详细 ...

  2. Oracle XE手动建立数据库实例

    参考资料为: [Oracle XE系列之三]使用OMF方式手工创建Oracle XE数据库 - 王立夫 - 博客园http://www.cnblogs.com/opfo/p/5056122.html ...

  3. PLSQL Developer12连接远程Oracle xe 11g

    目标: .学习使用docker下载oracle xe 11g .使用PLSQL连上启动运行oracle xe 11g容器服务 1.准备工作 Linux 安装docker 下载PLSQL Develop ...

  4. 免费数据库(SQLite、Berkeley DB、PostgreSQL、MySQL、Firebird、mSQL、MSDE、DB2 Express-C、Oracle XE)

    SQLite数据库是中小站点CMS的最佳选择 SQLite 是一个类似Access的轻量级数据库系统,但是更小.更快.容量更大,并发更高.为什么说 SQLite 最适合做 CMS (内容管理系统)呢? ...

  5. Docker实战(九)之数据库应用

    目前,主流数据库包括关系型和非关系型两种. 关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念金额方法来处理数据库中的数据,支持复杂的事务处理和结构化查询.代表实现有MySQL .O ...

  6. 【Oracle XE系列之一】Windows10_X64环境 安装Oracle XE11gR2 X64数据库

    一.安装 1.去Oracle官网下载XE版的安装包[下载路径](Oracle Database Express Edition 11g Release 2 for Windows x64),解压. 2 ...

  7. Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战

    转: Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一 ...

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

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

  9. 云开发数据库VS传统数据库丨云开发101

    云开发数据库与传统数据库的不同 在小程序·云开发中,最核心的便是三大组件:数据库.云存储和云函数,从今天开始,我们将开始隔日更的专栏文章,云开发101,在第一周,我们将从最最核心的数据库开始说起. 云 ...

随机推荐

  1. 程序猿都是project师吗?

    全部的程序猿都是project师吗?当然不是.project师是必修课.程序猿则是选修.project师为自己的事业工作,而程序猿做他们喜欢做的事情.project是实实在在的,编程是抽象的. 为了吸 ...

  2. linux 系统下配置安装 java jdk 图文流程

    先查看一下系统版本,本例采用的操作系统是CentOS 6.5: 如果你是初装之后的操作系统,那么有可能wget这个组件是不存在的,所以你要安装一下它,这样才可以让你从网上down下你要的安装包: 上面 ...

  3. CSS的优先级

    样式的优先级: (内联样式表[嵌入式样式])>(内部样式表)>(外部样式表) 经过测试动手测试发现有个(唯一的)例外 情况:当引用外部样式在内部样式表(非嵌入式样式)的后面时,外部样式会覆 ...

  4. DBHelper 类(网上收集)

    这个是我网上找的,觉得不错的一个DBHelper类,下面是作者话: // 微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什 ...

  5. C# sql操作

    SqlConnection con = new SqlConnection(strSqlConnection);//strSqlConnection为字符串连接          DataTable ...

  6. ios 动态修改UILabel字体大小

    - (IBAction)sliderChange:(id)sender {   NSLog(@"sliderChange");   UISlider *slider = (UISl ...

  7. UILabel自适应高度,自动换行

    CGRect rect; rect = self.labelInfo.frame; //UILabel高度自适应 rect.size.height = [self.labelInfo.text bou ...

  8. UIImage加载图片的区别和渲染模式

    前言 关于本地图片UIImage的加载问题,还是需要注意的.不同的加载处理方式,在效率和性能上还是有差异的. 今天,我们来讲讲UIImage的加载应该选择什么样的API来加载! 两种API 这两种AP ...

  9. CDZSC_2015寒假新人(1)——基础 i

    Description “Point, point, life of student!” This is a ballad(歌谣)well known in colleges, and you mus ...

  10. 关于tuple的只读特性

    a = (1,3,[5,4,1]) a[2][1] = 2 print(a) 结果是:(1,3,[5,2,1]) 可以看到,在这里tuple的内容被修改了. 原因就是tuple的“只读”属性是指tup ...