当前位置: 首页 > 科技观察

Mac上运行Docker和Oracle12.2数据库环境

时间:2023-03-19 16:28:00 科技观察

虽然Docker如此火爆热闹,没想到我第一次接触Docker是因为Oracle。Oracle上个月宣布支持Docker容器部署,再加上OracleDatabase12.2的发布,然后支持在MAC上部署,大家可以想想,这足以激起我动手的热情了,上次是能够直接部署的版本还是Oracle10g,现在我们有了新的选择。基于Docker的部署非常简单,只需一条命令。回顾一下我们在Oracle8中部署OracleonLinux的时间,你有什么感想?编译错误无数,深坑浅坑,说多了泪流满面。看看Oracle在Docker上的部署!你需要准备什么?下载Docker环境;从Github下载Oracledocker-images;从OTN下载OracleforLinux安装包;生产资料有了,还需要做一点粗略的处理:在MAC上安装并启动Docker环境;解压docker-images-master.zip安装包;将Oracle安装包集成到Docker镜像Master中;我在Docker市场下载的稳定版,115.6M,地址是:https://store.docker.com/editions/community/docker-ce-desktop-mac虽然是第一次,但是会很亲切看到这条小鲸鱼:第二步和第三步,我建立了一个独立的Docker目录来存放这些文件。Github上的文件下载地址是:https://github.com/oracle/docker-images然后两条命令:unzipdocker-images-master.zipmvlinuxx64_12201_database.zipdocker-images-master/OracleDatabase/dockerfiles/12.2.0.1/Next然后你可以撸起袖子努力工作。当然,你不需要挽起袖子,因为这样会很顺滑。我的MAC版本是:macOSsierra10.12.4。这个链接只需要一条命令,需要执行docker-images-master/OracleDatabase/dockerfiles下的build脚本:./buildDockerImage.sh-v12.2.0.1-e这一步首先需要安装Slim版本OEL:oraclelinux:7-slim。文件需要从网上下载,所以安装过程中必须保持网络连接。整个过程有16个步骤,全部自动执行。成功日志类似如下:OracleDatabaseDockerImagefor'ee'version12.2.0.1isreadytobeextended:-->oracle/database:12.2.0.1-eeBuildcompletedin52755seconds。安装完成后,你有两个镜像,一个是OEL7-slim版本,大约114MB,一个oracle/database大约14.8GB。创建和启动数据库只需要一条命令:dockerrun--nameoracle-p1521:1521-p5500:5500-v/Users/eygle/oradata:/opt/oracle/oradataoracle/database:12.2.0.1-ee这条命令有几个主要参数:-p指定端口映射,对应宿主机到Docker的端口;-v指定数据库对应的存放路径。我指定了Docker以外的本地存储来分离数据库。完成这条命令后,会在本地构建并启动数据库,同时输出告警日志的监控。当然,如果不想剥离数据库文件,也可以使用如下命令建库:dockerrun-p1521:1521--nameeygleoracle/database:12.2.0.1-ee因为数据库会指定用户默认密码,我们可以使用以下命令来修改密码:dockerexecoracle./setPassword.shyoupassword其他必要的命令有:dockerstartoracledockerstoporacledockerlogsoracledockerps接下来,你可以在SQLDeveloper中配置并连接到这个数据库:现在构建起来非常快速和简单基于Docker的测试环境。简化了Oracle学习入门的复杂度,值得一试。