利用Docker快速部署Oracle环境

[日期:2017-03-14] 来源:Linux社区  作者:taotao1240 [字体: ]

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

root@- rac1:docker search oracle

INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED

docker.io docker.io/wnameless/oracle-xe-11g Oracle Express 11g R2 on Ubuntu 16.04 LTS 417 [OK]

docker.io docker.io/oraclelinux Oracle Linux is an open-source operating s… 304 [OK]

docker.io docker.io/alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11… 203 [OK]

docker.io docker.io/sath89/oracle-12c Oracle Standard Edition 12c Release 1 with… 112 [OK]

docker.io docker.io/sath89/oracle-xe-11g Oracle xe 11g with database files mount su… 91 [OK]

docker.io docker.io/isuper/java-oracle This repository contains all java releases… 52 [OK]

docker.io docker.io/jaspeen/oracle-11g Docker image for Oracle 11g database 38 [OK]

docker.io docker.io/oracle/oraclelinux Oracle Linux is an open-source operating s… 34 [OK]

docker.io docker.io/ingensi/oracle-jdk Official Oracle JDK installed on CentOS. 20 [OK]

docker.io docker.io/airdock/oracle-jdk Docker Image for Oracle Java SDK (8 and 7)… 16 [OK]

docker.io docker.io/oracle/openjdk Docker images containing OpenJDK Oracle Linux 15 [OK]

docker.io docker.io/cogniteev/oracle-java Oracle JDK 6, 7, 8, and 9 based on Ubuntu … 12 [OK]

docker.io docker.io/n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Check tags for ver… 12 [OK]

docker.io docker.io/andreptb/oracle-java Debian Jessie based image with Oracle JDK … 8 [OK]

docker.io docker.io/oracle/glassfish GlassFish Java EE Application Server on Or… 8 [OK]

docker.io docker.io/oracle/nosql Oracle NoSQL on a Docker Image with Oracle… 7 [OK]

docker.io docker.io/infogene/oracle Image for running Oracle Database 11g Stan… 6 [OK]

docker.io docker.io/openweb/oracle-tomcat A fork off of Official tomcat image with O… 5 [OK]

docker.io docker.io/flurdy/oracle-java7 Base image containing Oracle’s Java 7 JDK 4 [OK]

docker.io docker.io/jtech/oracle-jdk A Docker image based on the smallest Linux… 3 [OK]

docker.io docker.io/davidcaste/debian-oracle-java Oracle Java 8 (and 7) over Debian Jessie 2 [OK]

docker.io docker.io/kaluzki/oracle kaluzki/oracle 2 [OK]

docker.io docker.io/clincase/oracle clincase oracle db server image 1 [OK]

docker.io docker.io/jckrz/debian-oracle-jdk Vanilla Debian + Oracle JDK 1 [OK]

docker.io docker.io/publicisworldwide/oracle-core This is the core image based on Oracle Lin… 1 [OK]

可以看到有很多版本,11g,12c

 

这里选择获取12c版本

root@- rac1:/home/# docker pull sath89/oracle-12c

Using default tag: latest

latest: Pulling from sath89/oracle-12c

863735b9fd15: Pull complete

4fbaa2f403df: Pull complete

faadd00cf98e: Downloading [=======>                                          ] 394.8 MB/2.768 GB

829e2e754405: Download complete

 

root@- rac1:/home/# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/sath89/oracle-12c latest b8bf52883bc7 5 weeks ago 5.692 GB

 

使用刚刚下载下来的12g image创建一个container,并运行其上的oracle数据库

docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-12c

 

[root@-rac1 ~]# docker logs -f ffbeb07058449672c640ddb4e59b8376dae2e3b4dd54142871da7adbc069ee79

ls: cannot access /u01/app/oracle/oradata: No such file or directory

Database not initialized. Initializing database.

Starting tnslsnr

Copying database files

1% complete

37% complete

Creating and starting Oracle instance

40% complete

45% complete

62% complete

Completing Database Creation

66% complete

100% complete

Look at the log file “/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log” for further details.

Configuring Apex console

Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed

Starting web management console

PL/SQL procedure successfully completed.

Starting import from ‘/docker-entrypoint-initdb.d’:

found file /docker-entrypoint-initdb.d//docker-entrypoint-initdb.d/*

[IMPORT] /entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*

Import finished

Database ready to use. Enjoy! 😉

到这里Oracle实例就已经启动好了

 

可以看到创建的container已经在运行中

[root@-rac1 ~]~$ docker ps

CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS                                            NAMES

9e893d773494        sath89/oracle-12c  “/entrypoint.sh ”  15 minutes ago      Up 15 minutes      0.0.0.0:1521->1521/tcp, 0.0.0.0:8080->8080/tcp  clever_chandrasekhar

进入oracle container

[root@-rac1 ~]~$ docker exec -it 9e893d773494 /bin/bash

 

root@9e893d773494:/# su oracle

oracle@9e893d773494:~$ $ORACLE_HOME/bin/sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Fri Feb 24 03:03:00 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL>

Oracle 使用的实例名,用户名,密码如下

———————————————

hostname: localhost

port: 1521

sid: xe

username: system

password: oracle

———————————————

接下来就可以快速使用Oracle12C了

更多Docker相关教程见以下内容

Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04安装Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

Ubuntu使用VNC运行基于Docker的桌面系统  http://www.linuxidc.com/Linux/2015-08/121170.htm

64位 CentOS下安装与启动 Docker  http://www.linuxidc.com/Linux/2017-03/141714.htm

Ubuntu 15.04下安装Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

在 Ubuntu 15.04 上如何安装Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

Ubuntu 16.04上Docker使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm

Docker 的详细介绍请点这里
Docker 的下载地址请点这里

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141760.htm

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享