Docker容器从镜像恢复的方法
这篇文章主要介绍了Docker容器从镜像恢复的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
查看所有容器:
docker container ls -a
根据容器id进入到指定容器:
docker exec -ti id /bin/bash
拷贝容器内目录到服务指定文件夹:
docker container cp id:/usr/local/tomcat/webapps/province-admin /home/test/province-admin
经过以上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这个容器中的数据卷了
感谢你能够认真阅读完这篇文章,希望小编分享的“Docker容器从镜像恢复的方法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341