独家:在MAC上运行Docker和Oracle 12.2数据库环境

虽然Docker是那么的流行和热闹,可是没想到我和Docker的第一次接触是因为Oracle。Oracle在上个月宣布支持Docker的容器部署,再加上Oracle Database 12.2的发布,再到支持MAC上的部署,大家可以想一想这足以激起我动手的热情,上一次在MAC上能够直接部署的版本还是Oracle 10g,现在我们有了一个新的选择。

基于Docker的部署简单到只需要一个命令,回顾一下我们在Oracle 8的年代,在Linux上部署Oracle,你想到什么?无数的编译错误,深深浅浅的坑坑洼洼,说多了都是泪。

看看Oracle在Docker上的部署吧!需要准备什么呢?

  1. Docker 环境下载;
  2. 从Github上下载 Oracle docker-images ;
  3. 从OTN下载 Oracle for Linux 的安装包;

生产资料具备了,还要做一点点粗加工:

  1. 在MAC上安装并启动Docker环境;
  2. 解压docker-images-master.zip安装包;
  3. 将Oracle安装包整合到Docker images Master中;

我在Docker市场下载的稳定版本,115.6M,地址是:

https://store.docker.com/editions/community/docker-ce-desktop-mac

虽然是第一次,但是看到这条小鲸鱼还是会很亲切:

第二和第三步,我建立了一个独立的Docker目录存储这些文件。

Github 上的文件下载地址是:

https://github.com/oracle/docker-images

然后两个命令:

unzip docker-images-master.zip

mv linuxx64_12201_database.zip docker-images-master/OracleDatabase/dockerfiles/12.2.0.1/

接下来就可以撸起袖子加油干了,当然也可以不撸袖子,因为会非常顺利和流畅,我的MAC版本是:macOS sierra 10.12.4 。

这个环节就只需要一条命令,需要执行 docker-images-master/OracleDatabase/dockerfiles 下的build脚本:

 ./buildDockerImage.sh -v 12.2.0.1 -e 

在这个步骤中首先需要安装 OEL的 Slim 版本:oraclelinux:7-slim 。需要从网上下载文件,所以安装过程中必须保持网络的连通。整个过程有16个步骤,全部是自动执行的。

成功的日志类似如下的:

Oracle Database Docker Image for 'ee' version 12.2.0.1 is ready to be extended: 

--> oracle/database:12.2.0.1-ee

Build completed in 52755 seconds.

完成了安装之后,你拥有了两个镜像,一个是OEL 7-slim 版本,大约114MB,一个 oracle/database 大约14.8GB。

创建并启动数据库只需要一个命令:

docker run --name oracle -p 1521:1521 -p 5500:5500 -v /Users/eygle/oradata:/opt/oracle/oradata oracle/database:12.2.0.1-ee

这个命令有几个主要参数:

-p 指定端口映射,主机到Docker的端口对应;

-v 指定数据库的对应存储路径,我指定了一个Docker之外的本地存储,将数据库独立出来。

完成这个命令,会在本地完成数据库的构建并启动数据库,同时输出告警日志的监控。

当然如果你不想剥离数据库文件出来,也可以用类似以下命令来构建数据库:

docker run -p 1521:1521 --name eygle oracle/database:12.2.0.1-ee

由于数据库缺省会指定用户口令,所以我们可以通过如下命令来修改口令:

docker exec oracle ./setPassword.sh youpassword

其他的必备命令是:

docker start oracle

docker stop oracle

docker logs oracle

docker ps

接下来就可以在 SQL Developer 里配置和连接这个数据库了:

现在基于Docker来构建一个测试环境,变得非常快速和简捷,大家简化了学习了了解Oracle入门的复杂度,非常值得尝试。

大家快来一起探索一下Oracle的变化吧。更详细的信息请参考原文链接。


文章转自数据和云公众号,原文链接

时间: 2024-09-09 04:26:29

独家:在MAC上运行Docker和Oracle 12.2数据库环境的相关文章

Mac上使用Docker如何快速启动MySQL测试_docker

本文主要讨论使用Docker快速启动 MySQL 测试的方法,包括Mac环境.一起看看吧! 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的"入门"或"引导"类的文章中能容易地找到成熟的技术,但Docker不然.我在Mac上试玩过Docker,但Mac绝对是Docker界的二等公民.当我在Giuseppe的博客上看到关于在Mac上使用新Docker beta<Docker for Mac beta and MySQL>一文时,决定

MAC使用技巧之在Mac上运行Windows全攻略

  过去,苹果电脑MAC运行Windows时Mac有一些兼容性问题,例如无法方便地在Apple和Windows系统之间共享文件和打印机,没有为Mac平台而开发的一些软件,以及不同的网络协议(TCP/IP与AppleTalk的对立),但这些都已经成为历史. 大多数主流的办公和生产软件,包括微软的Office,Intuit的 QuickBooks,诺顿的杀毒软件产品等等,现在都有专为Macintosh而开发的版本;甚至是基于Mac的VPN以及远程连接工具,也有相当多可 用的选择.然而,偶尔还是会有一

Mac上运行Win XP操作系统方法

  很多人在使用Mac工作的同时,可能也需要操作其他操作系统,而我们知道,其实通过虚拟机可以在mac上运行其他的操作系统,很多人会使用parallels desktop虚拟机在自己的mac上安装win7,但很多朋友会在mac上安装win xp,pd虚拟机占据很大优势.那么,就一起来看看Mac上运行Win XP操作系统方法吧. 如果你现在使用的是苹果电脑,有没有尝试过在上面运行其他的操作系统呢,听说最近有很多朋友想要在自己的mac上使用Windows xp系统,这个系统曾经伴随我们很长时间,有很多

我在Mesos上运行Docker容器的经验

本文讲的是我在Mesos上运行Docker容器的经验,[编者的话]下面的这篇博客出自John Omernik之手,他是Big Data Analytics的Data Enthusiast和VP,还是Zions Bank的Fraud Center of Excellence的经理,Zions Bank是家顶级的金融服务公司.在这篇博客中,作者分享了他是怎么利用新技术如Mesos和Docker来使用MapR文件系统的,并编写了一个可以简化流程的脚本. 我的技术栈 正如在此博客中我所写到的,我想和你分

MAC上在docker里运行django,更改views.py后运行结果没变化。

问题描述 环境是MAC,上面运行了一个docker容器,在容器里,执行pythonmanage.pyrunserver0.0.0.0:8000来运行django,并监控8000端口.docker创建容器使用的命令:dockerrun-d-v~/code:/home/work/code-p8197:8000code所以,在MAC上.虚拟机上以及docker容器中,同时存在一个code目录,里面代码是一样的,而django的manage.py也在code里面.当我在MAC上修改了django的vie

如何在Windows 7上运行Docker

Docker 是一种容器技术,它可以将应用和环境等进行打包,形成一个独立的,类似于 iOS 的 APP 形式的「应用」,这个应用可以直接被分发到任意一个支持 Docker 的环境中,通过简单的命令即可启动运行, 是一种最流行的容器化实现方案.和虚拟化技术类似,它极大的方便了应用服务的部署.本文我们介绍如何在windows7上面安装使用docker. 1.下载程序包 安装包: https://get.daocloud.io/toolbox/ 下载最新版本的:Docker-install.exe即可

一个更好的开发/测试体验:在AWS上运行Docker

先来看一个经常会发生的例子: 假如你被指派为一个用以监测运动健身的移动应用建立REST API,同时要求在笔记本上的开发环境完成第一个端点的编码.在运行了所有单元测试并成功通过后,你将代码放入Git,并且通知QA工程师程序已经等待检测,而且一切运行良好.然而,当QA工程师认真地将最新版本代码部署到测试环境后却发现,这个新开发的REST端点往往连前几分钟的测试都通不过. 为什么会发生这样的情况?你明明已经完整的运行了单元测试,而代码传递给QA工程师之前又没发生任何问题.在与QA工程师一起奋斗数个小

在Docker上运行.NET Core

本文讲的是在Docker上运行.NET Core,[编者的话]本文为Jurgis Pasukonis在medium.com博客中发布的关于在Docker上运行.NET Core的文章,介绍了目前.NET Core在Docker上的开源情况及部分演示.Jurgis目前是TRAFI公司的CTO. 对于Microsoft和.NET来说,这是一个新的时代,然而这并不是言过其实的.如果你之前没有追随过这些消息,那么下面是一些发生在去年与此有关的事情: .NET框架和C#语言已经被开源并且可以在GitHub

在Docker和Kubernetes上运行MongoDB微服务

本文讲的是在Docker和Kubernetes上运行MongoDB微服务[编者的话]本文介绍了利用Docker和Kubernetes搭建一套具有冗余备份集合的MongoDB服务,从容器对CI和CD引发的改变入手,讨论了容器技术对MongoDB带来的挑战和机会,然后实战如何部署一套稳定的MongoDB服务,非常的干货~ 介绍 想尝试在笔记本电脑上运行MongoDB么?希望通过执行一个简单的命令,然后就有一个轻量级.自组织的沙盒么?并可再通过一条命令就可以移除所有的痕迹么? 需要在多个环境中运行相同