编辑手记:上周我们分享了在MAC上安装Docker并部署Oracle 12.2数据库环境,基于Docker构建测试环境,非常快速和简捷。只通过以下几个步骤即可快速完成:
1. 在Mac上安装docker,并启动docker 2. 部署oracle docker的build file,并创建image 3. 部署oracle软件在docker中 4. 安装oracle实例在docker中 5. 启动,停止docker以及连接数据库
今天我们再来看看如何将docker镜像进行备份,迁移和克隆。
一、备份 我们用docker ps看有几个container,注意如果加-a参数,则没有running的container也会显示出来。
我们先将该container commit成镜像: 先检查一下已经存在的image:
停下container,并进行commit:
检查现有的image:
将container-backup 这个image做成tar文件:
我们将container-backup.tar备份或者迁移至别的主机,或者路径。实现了docker container的迁移。
注意,由于之前我们建立database采用了分离式的持久化,即数据文件不是在container,是在/Users/[username]/oradata下,所以我们也要备份一份这个文件。
cd /Users/lovehousetar cvf oradata.tar oradata二、还原或克隆我们这里将备份的东西,load进去,并且成为oracle_2先将数据文件还原,且文件夹命名成oradata_2将备份的tar包 load进去运行docker run创建container,注意端口要修改一下,以免占用原来的oracle这个container的端口。如果不修改,那么第二个container启动的时候会报错:port is already allocated至此,2个docker container已经同时跑起来。container-backup:latest这个container是利用第一个克隆出来的,并且做了端口映射,将1522映射到内部的1521,将5501映射到内部的5500。======== END ======== 如果觉得文章好,欢迎打赏:加入"云和恩墨大讲堂"微信群,参与讨论学习搜索 盖国强(Eygle)微信号:eyygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。关注公众号,获得后续精彩分享近期文章云和恩墨2017 DTCC数据库大会PPT一条诡异的SQL引发的性能问题Lockdown Profile 的多租户权限控制在线的修改数据表为分区表性能优化之查询转换 - 子查询类基于Oracle公有云的备份与恢复MySQL Group Replication 学习笔记 |
---|