时间:2021-05-19
有时候代码丢失了需要从容器运行的镜像中恢复出所需代码,此时仅需在容器运行的服务器进行简单的几步操作,就能提取出打包镜像时使用的代码
经过以上3布就已经把容器内代码提取到了服务器指定目录,从服务器将代码下载到本地就可以查看所需代码了
补充:docker数据卷容器备份、恢复超详细!小白也可以!!!
在日常生活中,把容器和本地物理机做了目录映射直接存在本地,那么我们只需要对本地的硬盘定期备份就好了,但如果没有这个映射的情况下,备份和恢复该如何处理呢?
首先我们创建一个需要备份的数据卷,
docker run -itd -v /opt/zz --name c1 centos /bin/bash-itd 是以交互的方式运行,d是后台运行
-v 是指定容器内的数据卷,如果指定的数据卷不存在,会自动创建
–name 自定义名字
/bin/bash 交互命令以/bin/bash来
为了验证数据卷容器的备份功能,在挂载的/opt/zz目录下创建一个c11文件,并写入内容"woda"。
[root@160e0646396d zz]# touch c11.txt[root@160e0646396d zz]# echo "woda" > c11.txt [root@160e0646396d zz]# cat c11.txtwoda然后为了给数据卷容器备份,使用 –volumes-from 来标记需要备份的数据卷,并从主机挂载当前目录到容器的/v3目录。
$(pwd)是docker支持的指定当前目录的方法,了解linux基本命令的会发现,linux查看当前目录就是pwd命令。
容器启动后,在当前目录下生成的c23.tar文件就是/opt/zz容器卷的备份文件。
这样,数据卷容器中的数据就备份完成。
整个实践过程如下:
[root@client ~]# docker run --volumes-from c1 -v $(pwd):/v3 centos tar cvf /v3/c23.tar /opt/zztar: Removing leading `/' from member names/opt/zz//opt/zz/c11.txt最后我们就可以看到我们之前在需要备份的容器的数据卷里的内容了,/opt/zz/c11.txt
–volumes-from < Container >: 连接要备份数据的容器
-v $(pwd):/v3:挂载当前路径到容器centos 容器,数据将会备份到此路径
centos: 非常小的镜像
tar cvf /v3/c23.tar /opt/zz: 将 /opt/zz 路径下的文件打包到 c23.tar
备份最终也是为了可以恢复,否则备份就没有意义了,Docker恢复备份也很简单,只需要2步即可。
首先,创建一个带有空数据卷的容器/opt/x2。
docker run -itd -v /opt/x2 --name c3 centos /bin/bashdocker run -itd -v /opt/x2 --name c3 centos /bin/bash然后,创建另一个容器,挂载data1容器卷中的数据卷,并使用untar解压备份文件到挂载的容器卷中。
docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar这个时候,之前备份的数据卷容器的数据已经恢复到了容器/opt/x2中了。
为了查看和验证恢复的数据,我们可以再启动一个容器挂载/opt/x2容器卷来查看。
整个实践过程如下:
[root@client ~]# docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.taropt/zz/opt/zz/c11.txt最后我们就可以看到我们之前备份的c11.txt,现在已经恢复到c3这个容器中的数据卷了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
获取镜像在之前的介绍中,我们知道镜像是Docker的三大组件之一。Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会从镜像仓库下载
网络基础配置虽然Docker可以根据镜像“多开”容器,并而每个容器互不影响,但并不代表容器与容器之间是完全决裂的。Docker在运行镜像
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务。以下操作通过myfirstapp镜像模拟,如何制作myfirstapp镜像请点击此处。1、
Docker镜像、容器、仓库的概念Docker镜像Docker镜像(Image)类似于虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件
docker镜像、容器、仓库的基本概念镜像1.Docker镜像就是一个只读的模板。例如:一个镜像可以包含一个完整的CentOS操作系统环境,里面仅安装了http