- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Docker容器从镜像恢复代码的操作步骤由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
有时候代码丢失了需要从容器运行的镜像中恢复出所需代码,此时仅需在容器运行的服务器进行简单的几步操作,就能提取出打包镜像时使用的代码 。
查看所有容器:
1
|
docker container
ls
-a
|
根据容器id进入到指定容器:
1
|
docker
exec
-ti
id
/bin/bash
|
拷贝容器内目录到服务指定文件夹:
1
|
docker container
cp
id
:
/usr/local/tomcat/webapps/province-admin
/home/test/province-admin
|
经过以上3布就已经把容器内代码提取到了服务器指定目录,从服务器将代码下载到本地就可以查看所需代码了 。
补充:docker数据卷容器备份、恢复超详细!小白也可以!!! 。
在日常生活中,把容器和本地物理机做了目录映射直接存在本地,那么我们只需要对本地的硬盘定期备份就好了,但如果没有这个映射的情况下,备份和恢复该如何处理呢?
首先我们创建一个需要备份的数据卷, 。
1
|
docker run -itd -
v
/opt/zz
--name c1 centos
/bin/bash
|
-itd 是以交互的方式运行,d是后台运行 。
-v 是指定容器内的数据卷,如果指定的数据卷不存在,会自动创建 。
–name 自定义名字 。
/bin/bash 交互命令以/bin/bash来 。
为了验证数据卷容器的备份功能,在挂载的/opt/zz目录下创建一个c11文件,并写入内容"woda".
1
2
3
4
|
[root@160e0646396d zz]
# touch c11.txt
[root@160e0646396d zz]
# echo "woda" > c11.txt
[root@160e0646396d zz]
# cat c11.txt
woda
|
然后为了给数据卷容器备份,使用 –volumes-from 来标记需要备份的数据卷,并从主机挂载当前目录到容器的/v3目录.
$(pwd)是docker支持的指定当前目录的方法,了解linux基本命令的会发现,linux查看当前目录就是pwd命令.
容器启动后,在当前目录下生成的c23.tar文件就是/opt/zz容器卷的备份文件.
这样,数据卷容器中的数据就备份完成.
整个实践过程如下:
1
2
3
4
|
[root@client ~]
# docker run --volumes-from c1 -v $(pwd):/v3 centos tar cvf /v3/c23.tar /opt/zz
tar
: 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.
1
2
|
docker run -itd -
v
/opt/x2
--name c3 centos
/bin/bash
docker run -itd -
v
/opt/x2
--name c3 centos
/bin/bash
|
然后,创建另一个容器,挂载data1容器卷中的数据卷,并使用untar解压备份文件到挂载的容器卷中.
1
|
docker run --volumes-from c3 -
v
$(
pwd
):
/v3
centos
tar
xvf
/v3/c23
.
tar
|
这个时候,之前备份的数据卷容器的数据已经恢复到了容器/opt/x2中了.
为了查看和验证恢复的数据,我们可以再启动一个容器挂载/opt/x2容器卷来查看.
整个实践过程如下:
1
2
3
|
[root@client ~]
# docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar
opt
/zz/
opt
/zz/c11
.txt
|
最后我们就可以看到我们之前备份的c11.txt,现在已经恢复到c3这个容器中的数据卷了 。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.
原文链接:https://blog.csdn.net/lierwang2017/article/details/94733994 。
最后此篇关于Docker容器从镜像恢复代码的操作步骤的文章就讲到这里了,如果你想了解更多关于Docker容器从镜像恢复代码的操作步骤的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要将 OCI 镜像 list 转换为 Docker v2.2 镜像格式,反之亦然。但我找不到两者之间的任何区别,是否有任何实际区别或它们相同? 最佳答案 Docker 镜像 list V 2,模式
LNMP 是代表 Linux 系统下的 Nginx、Mariadb、PHP 相结合而构建成的动态网站服务器架构。下面使用docker制作分布式lnmp 镜像。 1、docker 分布式 lnmp
你好,我创建了一个基础镜像;但是,每当我运行 docker build . 时,我都看不到成功构建 我的 docker 文件 FROM centos:7 ARG user=john ARG home=
我想要我的 iPhone 应用程序中有一个功能,可以将图像转换为类似镜像的方式。 就像如果有一个左手举起的人的图像,那么转换后的图像必须有右手举起的同一个人。 任何代码或链接将不胜感激 预先感谢您的帮
我们希望将一个Elasticsearch集群放置在kubernetes集群的顶部(当前有2个节点,但是我们计划增加它)。 是否可以通过使集群中的每个节点包含相同数据的方式配置elasticsearch
我试图了解 docker 如何在文件系统上存储图像和图层。构建图像时,图层出现在 /var/lib/docker/image/overlay2/layerdb 中,图像出现在 /var/lib/doc
所以我最近开始使用 docker,因为我认为让我的网站 dockerised 会很好。我有一个 super 简单的 docker-compose.yml 文件,其中仅包含 wordpress:late
我有一个 docker 镜像,叫它 dockerimage/test。每次我更新它时,我都会增加一个标签,所以 dockerimage/test:1、dockerimage/test:2 等等。 当我
我开始使用 Docker,我发现我可以将主图像存储库放在不同的磁盘上(符号链接(symbolic link)/var/lib/docker 到其他位置)。 但是,现在我想看看是否有办法将它拆分到多个磁
显然应用程序打包和部署似乎有两种做法 创建 Docker 镜像并部署它 从头开始构建和部署应用程序。 我对如何使用选项 1) 感到困惑。前提是你获取一个 docker 镜像并在任何平台上重复使用它。但
我有一个 UIView具有透明背景和一些按钮。我想捕获 View 的绘图,将其缩小,然后在屏幕上的其他位置重新绘制(镜像)它。 (在另一个 View 之上。)按钮可以更改,因此它不是静态的。 最好的方
我正在为一个项目编写测试,我想测试和验证一个 docker 镜像构建。但我不想推送图像。 我希望图像构建在 CI(如 taskcluster)上并运行测试。 最佳答案 您需要使用 taskcluste
我想复制每个 html 页面中的代码,同时添加一些更改: 例子: Any text (even if includes :., 输出: Any text (even if includes :.,
我使用三星 ARM Cortex A9 Exynos4412 板。我在板上启动“linux + Qt”img。但是板上没有包管理器,也没有 make 、 gcc 命令。在/bin 文件中有文件 Bus
是否有可能以某种方式设置一个 git 存储库,该存储库像通常的 --mirror 一样用于 pull 入它,但在将从推送到另一个存储库时没有强制? 最佳答案 您可以像这样添加 --no-force 来
背景 最近在巡检过程中,发现harbor存储空间使用率已经达到了80%。于是,去看了一下各项目下的镜像标签数。发现有个别项目下的镜像标签数竟然有好几百个。细问之下得知,该项目目前处于调试阶段
以下均在centos 7进行的操作 docker安装 ? 1
我知道如何删除 N 天前创建的旧 Docker 镜像。 See here 但我真正想做的是删除过去 N 天未使用的旧 Docker 镜像。 目标是保留经常使用的图像,即使在我进行清理时没有容器实际使用
我有一个自定义的 docker 镜像,已经构建好了。没有可用的 Dockerfile。在容器内部,可以使用自定义用户,而不是 root,比如 test。此用户已附加到组 test。这是容器的默认用户。
我有一个开发数据库,我想将其提交到 docker 镜像中,然后推送到私有(private)存储库并用于本地开发和 CI 构建。 数据库保存为SQL备份,我可以通过将备份文件映射到官方镜像的/doc
我是一名优秀的程序员,十分优秀!