利用Docker快速部署Oracle环境

简介:

工作中需要频繁使用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了





本文转自 taojin1240 51CTO博客,原文链接:http://blog.51cto.com/taotao1240/1906063,如需转载请自行联系原作者
目录
相关文章
|
5天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
38 1
|
14天前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
44 19
|
17天前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
72 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
26天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
217 91
|
27天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
1月前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
142 44
|
2月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
2月前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
2月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
66 23
|
2月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
60 22