oracle克隆镜像,备份,迁移和克隆docker镜像
(一)备份:
我们用docker ps看有几个container,注意如果加-a参数,则没有running的container也会显示出来。
LoveHousedeiMac:idocker lovehouse$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9f09116cc83 oracle/database:12.2.0.1-ee "/bin/sh -c 'exec ..." 23 hours ago Exited (137) 4 hours ago oracle
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
LoveHousedeiMac:idockerlovehouse$dockerps-a
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
c9f09116cc83oracle/database:12.2.0.1-ee"/bin/sh -c 'exec ..."23hoursagoExited(137)4hoursagooracle
LoveHousedeiMac:idockerlovehouse$
我们先将该container commit成镜像:
先检查一下已经存在的image:
LoveHousedeiMac:idocker lovehouse$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
oracle/database 12.2.0.1-ee 4f9df5f46a19 23 hours ago 14.8 GB
oraclelinux 7-slim 442ebf722584 4 weeks ago 114 MB
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
LoveHousedeiMac:idockerlovehouse$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
oracle/database12.2.0.1-ee4f9df5f46a1923hoursago14.8GB
oraclelinux7-slim442ebf7225844weeksago114MB
LoveHousedeiMac:idockerlovehouse$
停下container,并进行commit:
LoveHousedeiMac:idocker lovehouse$ docker stop oracle
oracle
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$ docker commit -p c9f09116cc83 container-backup
sha256:f58f6143fca7d2e001ce810b2d13b8adac9d64e4cc9f50477f0108bb246db3c0
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
6
LoveHousedeiMac:idockerlovehouse$dockerstoporacle
oracle
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$dockercommit-pc9f09116cc83container-backup
sha256:f58f6143fca7d2e001ce810b2d13b8adac9d64e4cc9f50477f0108bb246db3c0
LoveHousedeiMac:idockerlovehouse$
检查现有的image:
LoveHousedeiMac:idocker lovehouse$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
container-backup latest f58f6143fca7 4 seconds ago 15.3 GB
oracle/database 12.2.0.1-ee 4f9df5f46a19 23 hours ago 14.8 GB
oraclelinux 7-slim 442ebf722584 4 weeks ago 114 MB
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
6
LoveHousedeiMac:idockerlovehouse$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
container-backuplatestf58f6143fca74secondsago15.3GB
oracle/database12.2.0.1-ee4f9df5f46a1923hoursago14.8GB
oraclelinux7-slim442ebf7225844weeksago114MB
LoveHousedeiMac:idockerlovehouse$
将container-backup 这个image做成tar文件:
LoveHousedeiMac:idocker lovehouse$ ls
docker-images-master
LoveHousedeiMac:idocker lovehouse$ docker save -o ./container-backup.tar container-backup
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$ ls -l
total 29910416
-rw------- 1 lovehouse staff 15314129920 May 21 21:48 container-backup.tar
drwxr-xr-x@ 19 lovehouse staff 646 May 20 20:04 docker-images-master
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
6
7
8
9
LoveHousedeiMac:idockerlovehouse$ls
docker-images-master
LoveHousedeiMac:idockerlovehouse$dockersave-o./container-backup.tarcontainer-backup
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$ls-l
total29910416
-rw-------1lovehousestaff15314129920May2121:48container-backup.tar
drwxr-xr-x@19lovehousestaff646May2020:04docker-images-master
LoveHousedeiMac:idockerlovehouse$
我们将container-backup.tar备份或者迁移至别的主机,或者路径。实现了docker container的迁移。
注意,由于之前我们建立database采用了分离式的持久化,即数据文件不是在container,是在/Users/[username]/oradata下,所以我们也要备份一份这个文件。
cd /Users/lovehouse
tar cvf oradata.tar oradata
1
2
cd/Users/lovehouse
tarcvforadata.taroradata
(二)还原或克隆:
我们这里将备份的东西,load进去,并且成为oracle_2
先将数据文件还原,且文件夹命名成oradata_2
LoveHousedeiMac:~ lovehouse$ pwd
/Users/lovehouse
LoveHousedeiMac:~ lovehouse$ ls -l
total 7356176
drwxr-xr-x 4 lovehouse staff 136 May 21 21:48 iDocker
drwxr-xr-x@ 6 lovehouse staff 204 May 21 22:21 oradata
drwxr-xr-x@ 6 lovehouse staff 204 May 21 22:21 oradata_2
LoveHousedeiMac:~ lovehouse$
1
2
3
4
5
6
7
8
LoveHousedeiMac:~lovehouse$pwd
/Users/lovehouse
LoveHousedeiMac:~lovehouse$ls-l
total7356176
drwxr-xr-x4lovehousestaff136May2121:48iDocker
drwxr-xr-x@6lovehousestaff204May2122:21oradata
drwxr-xr-x@6lovehousestaff204May2122:21oradata_2
LoveHousedeiMac:~lovehouse$
将备份的tar包 load进去
LoveHousedeiMac:~ lovehouse$ cd idocker
LoveHousedeiMac:idocker lovehouse$ ls
container-backup.tar docker-images-master
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$ docker load -i ./container-backup.tar
94fd1a061ee3: Loading layer [==================================================>] 433.9 MB/433.9 MB
Loaded image: container-backup:latest
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
container-backup latest f58f6143fca7 About an hour ago 15.3 GB
oracle/database 12.2.0.1-ee 4f9df5f46a19 25 hours ago 14.8 GB
oraclelinux 7-slim 442ebf722584 4 weeks ago 114 MB
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
LoveHousedeiMac:~lovehouse$cdidocker
LoveHousedeiMac:idockerlovehouse$ls
container-backup.tardocker-images-master
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$dockerload-i./container-backup.tar
94fd1a061ee3:Loadinglayer[==================================================>]433.9MB/433.9MB
Loadedimage:container-backup:latest
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
container-backuplatestf58f6143fca7Aboutanhourago15.3GB
oracle/database12.2.0.1-ee4f9df5f46a1925hoursago14.8GB
oraclelinux7-slim442ebf7225844weeksago114MB
LoveHousedeiMac:idockerlovehouse$
运行docker run创建container,注意端口要修改一下,以免占用原来的oracle这个container的端口。如果不修改,那么第二个container启动的时候会报错:port is already allocated
LoveHousedeiMac:idocker lovehouse$ docker run --name oracle_2 -p 1522:1521 -p 5501:5500 -v /Users/lovehouse/oradata_2:/opt/oracle/oradata container-backup:latest
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-MAY-2017 15:21:22
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Starting /opt/oracle/product/12.2.0.1/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /opt/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/e12ff2cf32f2/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 21-MAY-2017 15:21:26
Uptime 0 days 0 hr. 0 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/e12ff2cf32f2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
SQL*Plus: Release 12.2.0.1.0 Production on Sun May 21 15:21:26 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance.
SQL> ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size 8793304 bytes
Variable Size 520094504 bytes
Database Buffers 1073741824 bytes
Redo Buffers 7983104 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Shared IO Pool defaulting to 64MB. Trying to get it from Buffer Cache for process 83.
===========================================================
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
Starting background process CJQ0
2017-05-21T15:21:43.968340+00:00
CJQ0 started with pid=40, OS id=295
Completed: ALTER DATABASE OPEN
2017-05-21T15:21:44.275108+00:00
db_recovery_file_dest_size of 12780 MB is 0.00% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
2017-05-21T15:21:47.119178+00:00
Setting Resource Manager plan SCHEDULER[0x4AC9]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager CDB plan DEFAULT_MAINTENANCE_PLAN via parameter
ORCLPDB1(3):Setting Resource Manager plan SCHEDULER[0x4AC3]:DEFAULT_MAINTENANCE_PLAN via scheduler window
ORCLPDB1(3):Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
LoveHousedeiMac:idockerlovehouse$dockerrun--nameoracle_2-p1522:1521-p5501:5500-v/Users/lovehouse/oradata_2:/opt/oracle/oradatacontainer-backup:latest
LSNRCTLforLinux:Version12.2.0.1.0-Productionon21-MAY-201715:21:22
Copyright(c)1991,2016,Oracle.Allrightsreserved.
Starting/opt/oracle/product/12.2.0.1/dbhome_1/bin/tnslsnr:pleasewait...
TNSLSNRforLinux:Version12.2.0.1.0-Production
Systemparameterfileis/opt/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
Logmessageswrittento/opt/oracle/diag/tnslsnr/e12ff2cf32f2/listener/alert/log.xml
Listeningon:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listeningon:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUSoftheLISTENER
------------------------
AliasLISTENER
VersionTNSLSNRforLinux:Version12.2.0.1.0-Production
StartDate21-MAY-201715:21:26
Uptime0days0hr.0min.2sec
TraceLeveloff
SecurityON:LocalOSAuthentication
SNMPOFF
ListenerParameterFile/opt/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
ListenerLogFile/opt/oracle/diag/tnslsnr/e12ff2cf32f2/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Thelistenersupportsnoservices
Thecommandcompletedsuccessfully
SQL*Plus:Release12.2.0.1.0ProductiononSunMay2115:21:262017
Copyright(c)1982,2016,Oracle.Allrightsreserved.
Connectedtoanidleinstance.
SQL>ORACLEinstancestarted.
TotalSystemGlobalArea1610612736bytes
FixedSize8793304bytes
VariableSize520094504bytes
DatabaseBuffers1073741824bytes
RedoBuffers7983104bytes
Databasemounted.
Databaseopened.
SQL>DisconnectedfromOracleDatabase12cEnterpriseEditionRelease12.2.0.1.0-64bitProduction
#########################
DATABASEISREADYTOUSE!
#########################
Thefollowingoutputisnowatailofthealert.log:
SharedIOPooldefaultingto64MB.TryingtogetitfromBufferCacheforprocess83.
===========================================================
Dumpingcurrentpatchinformation
===========================================================
Nopatcheshavebeenapplied
===========================================================
StartingbackgroundprocessCJQ0
2017-05-21T15:21:43.968340+00:00
CJQ0startedwithpid=40,OSid=295
Completed:ALTERDATABASEOPEN
2017-05-21T15:21:44.275108+00:00
db_recovery_file_dest_sizeof12780MBis0.00%used.Thisisa
user-specifiedlimitontheamountofspacethatwillbeusedbythis
databaseforrecovery-relatedfiles,anddoesnotreflecttheamountof
spaceavailableintheunderlyingfilesystemorASMdiskgroup.
2017-05-21T15:21:47.119178+00:00
SettingResourceManagerplanSCHEDULER[0x4AC9]:DEFAULT_MAINTENANCE_PLANviaschedulerwindow
SettingResourceManagerCDBplanDEFAULT_MAINTENANCE_PLANviaparameter
ORCLPDB1(3):SettingResourceManagerplanSCHEDULER[0x4AC3]:DEFAULT_MAINTENANCE_PLANviaschedulerwindow
ORCLPDB1(3):SettingResourceManagerplanDEFAULT_MAINTENANCE_PLANviaparameter
至此,2个docker container已经同时跑起来。container-backup:latest这个container是利用第一个克隆出来的,并且做了端口映射,将1522映射到内部的1521,将5501映射到内部的5500。
LoveHousedeiMac:idocker lovehouse$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e12ff2cf32f2 container-backup:latest "/bin/sh -c 'exec ..." 3 minutes ago Up 2 minutes 0.0.0.0:1522->1521/tcp, 0.0.0.0:5501->5500/tcp oracle_2
c9f09116cc83 oracle/database:12.2.0.1-ee "/bin/sh -c 'exec ..." 24 hours ago Up 6 minutes 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp oracle
LoveHousedeiMac:idocker lovehouse$
LoveHousedeiMac:idocker lovehouse$
1
2
3
4
5
6
LoveHousedeiMac:idockerlovehouse$dockerps
CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
e12ff2cf32f2container-backup:latest"/bin/sh -c 'exec ..."3minutesagoUp2minutes0.0.0.0:1522->1521/tcp,0.0.0.0:5501->5500/tcporacle_2
c9f09116cc83oracle/database:12.2.0.1-ee"/bin/sh -c 'exec ..."24hoursagoUp6minutes0.0.0.0:1521->1521/tcp,0.0.0.0:5500->5500/tcporacle
LoveHousedeiMac:idockerlovehouse$
LoveHousedeiMac:idockerlovehouse$
oracle克隆镜像,备份,迁移和克隆docker镜像相关推荐
- dashboard 镜像源_使用国内docker镜像源
在国内,通过Docker的pull和push命令访问hub.docker时,网络十分慢,而且会出现各种各样的网络连接问题.因此这里介绍下如何使用国内的镜像源,这里以DaoCloud为例. 注册完成后, ...
- 一键清理oracle,一键清理 Nexus 中无用的 Docker 镜像
现许多团队使用 Nexus 来管理 Docker 镜像,产品不断迭代,镜像仓库占用的磁盘空间也越来越大.由于 Nexus 的控制台并未提供批量操作镜像功能,清理镜像十分不便.本文分享一个清理 Nexu ...
- anconda设置镜像源_管理2000+Docker镜像,Kolla是如何做到的
根据 DockerHub 上的数据,整个 Kolla 项目管理的 镜像有 2000 多个,这么多的镜像,是怎么定义,又是如何构建的呢? 简介 我们一直在说的 Kolla,通常情况下泛指,包括了 Kol ...
- docker 一起性重启所有镜像_docker系列四之docker镜像与容器的常用命令
docker镜像与容器的常用命令 一.概述 docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人站在 ...
- 清华镜像源_Hyperledger Fabric2.x Docker镜像编译加速
一.问题描述 最近工作需要对fabric2的源码进行改造,每次改完想要部署测试的时候,make docker这个命令执行起来超级慢.找到这篇文章的读者应该都遇到与我相同的问题,本文将分析问题产生的原因 ...
- linux镜像包含数据库数据么,docker 镜像中包含数据库环境和运行环境
Android 子线程测试 private volatile boolean mStopped = false; private int i; TextView tv1; TextView tv2; ...
- docker镜像和容器的导出导入
docker镜像的导出和导入 docker镜像和容器的导入导出,用于迁移.备份.升级等场景.主要用到export.import.save.load四个方法. 显示当前docker中的镜像: docke ...
- 简单谈谈Docker镜像的使用方法_docker
在上篇文章(在Docker中搭建Nginx服务器)中,我们已经介绍了如何快速地搭建一个实用的Nginx服务器.这次我们将围绕Docker镜像(Docker Image),介绍其使用方法.包括三部分: ...
- 76%都存在漏洞?!Docker镜像安全扫描应该这样做
在之前的文章<从自身漏洞与架构缺陷,谈Docker安全建设>中,我们介绍了Docker存在的安全问题.整套Docker应用架构的安全基线以及安全规则,重头戏是Docker安全规则的各种思路 ...
- Docker基础镜像操作系统基础镜像对比(参考官方文档),优化docker镜像
目录: 一. 选择Docker基础镜像 操作系统基础镜像 1. busybox 2. Alpine 3. CentOS 4. Ubuntu 5. Debian 二.编程语言基础镜像 应用基础镜像 其它 ...
最新文章
- 关于 MyBatis 我总结了 10 种通用的写法
- Angular面试从喜剧到悲剧的十个问题
- 2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- python3 ftp.mlsd,python3中的ftp目录
- java catch中 return_JAVA中try、catch、finally带return的执行顺序总结
- vue:axios二次封装,接口统一存放
- socket 编程入门教程(五)UDP原理:4、“有连接”的UDP
- Java对二维数组排序
- ios查看帧率的软件_iOS显示当前页面帧数
- 代码调试全指南-自然语言处理-基于预训练模型的方法,车万翔
- 计算机主机上有几个按钮,键盘按键有什么功能 电脑键盘上各个按键功能详解...
- Springboot+easyUI filebox实现单个文件上传
- 百会CRM发布新春致5万企业用户的公开信
- 决策树预测音乐喜好(弱)
- 记录个tomcat启动报错问题,Unable to process Jar entry
- ROS学习-创建一个ROS msg和一个srv
- Memory Fusion Network for Multi-view Sequential Learning注意力融合MFN
- 淘宝规则不断更新,开网店前景怎样,还好做吗?
- Xbox录屏功能录制没声音的解决办法
- 纯JavaScript山寨腾讯手机游戏《天天爱消除》开发过程详细