此文件夹已包含一个名为 images 的文件夹 服务器备份,Docker中容器的备份、恢复和迁移...

1. 备份容器

首先,为了备份Docker中的容器,我们会想看看我们想要备份的容器列表。要达成该目的,我们需要在我们运行着Docker引擎,并已创建了容器的Linux机器中运行 docker ps 命令。

sudo docker ps --因为我本地的虚拟机没有配置docker的全局变量,所以用sudo 执行

29a37549d998dde625fa53eab8e4827a.png

该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行 docker images 命令来查看Docker镜像,如下。

sudo docker commit -p 6fd1775e7dd0 postgres-backup -p 容器id 备份镜像名称

30571ce729d139b8417535462efe9f28.png

正如我们所看见的,上面做的快照已经作为Docker镜像保存了。现在,为了备份该快照,我们有两个选择,一个是我们可以登录进Docker注册中心,并推送该镜像;另一个是我们可以将Docker镜像打包成tar包备份,以供今后使用。

如果我们想要在Docker注册中心上传或备份镜像,我们只需要运行 docker login 命令来登录进Docker注册中心,然后推送所需的镜像即可。可以参考链接:https://www.jb51.net/os/other/378697.html

本地保存:

sudo docker save -o ~/postgres.tar postgres-backup1 --将postgres-backup1镜像保存为postgres.tar

e3672a4c4a6a64a841cfdc2c184ff74c.png

2. 恢复容器

恢复容器,迁移在下一个段落。

sudo docker load -i ~/postgres.tar

855be8527764ced8fca1b81ad6de999f.png

用 docker images 查看docker镜像,运行还原好的docker容器

sudo docker run -d -p 5432:5432 postgres-backup

8205f96a5877635561408ba5f7467941.png

3、Linux迁移文件

迁移容器同时涉及到了上面两个操作,备份和恢复。我们可以将任何一个Docker容器从一台机器迁移到另一台机器。在迁移过程中,首先我们将把容器备份为Docker镜像快照。然后,该Docker镜像或者是被推送到了Docker注册中心,或者被作为tar包文件保存到了本地。如果我们将镜像推送到了Docker注册中心,我们简单地从任何我们想要的机器上使用 docker run 命令来恢复并运行该容器。但是,如果我们将镜像打包成tar包备份到了本地,我们只需要拷贝或移动该镜像到我们想要的机器上,加载该镜像并运行需要的容器即可。。

3.1、安装vsftp 用于上传和下载

sudo apt-get install vsftpd

其它的配置参考:https://www.cnblogs.com/jikexianfeng/p/5862167.html

这里主要是讲遇到的一个问题,纠结了半天。

用FTP上传工具链接Linux 虚拟机时候,发现上传文件可以上传下去,但是刚刚备份的postgres.tar文件下载不下来,一直报:550 Failed to open file.最后发现是文件权限的问题。

2862ad4ad17553443df61255046b4672.pngb97a35583eb3be90e088344337080f6f.png

因为文件的权限是root,所以无法下载。解决方法更改文件的权限,这样就可以下载了。改变文件权限详细了解见:https://www.cnblogs.com/DawaTech/p/7249734.html

sudo change test postgres.tar--修改postgres.tar的拥有者为test用户(我本地虚拟机的用户叫test,根据实际更改用户名)

3.2、Windows访问ubuntu共享文件夹

因为我本地虚拟机是ubuntu,其它Linux命令操作,需要根据实际去了解一下。

1、对要共享的文件夹右击->Local Network Share(本地文件夹共享)

6f5002d4337e297ca9801f6957af876e.png

2、选择Share this folder(共享此文件夹),提示安装共享服务,安装共享服务

f602ecf563f48f8dda908d464aceff5b.png

54ad086ffdc99183d10a753d43f6a49a.png

安装完成后,点击共享。这样就能完成共享了。

在windows下文件夹填写:\\192.168.12.131\share,这样就能完成访问。如果提示不能访问,将share上面的共享属性改成“允许匿名登录”,这样就可以了,当然这个安全性有点低。

共享路径设置可以参照链接:https://www.cnblogs.com/heguoyuan/p/9902446.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在关闭ext4.vhdx之前,您需要确保已经停止了任何正在运行的Docker容器。如果您有正在运行的容器,请使用以下命令停止它们: ``` docker stop <container_name> ``` 接下来,您可以按照以下步骤迁移Docker文件夹: 1. 打开PowerShell或命令提示符,并输入以下命令以停止Docker服务: ``` Stop-Service docker ``` 2. 确认Docker服务已停止。您可以通过在PowerShell或命令提示符输入以下命令来检查服务状态: ``` Get-Service docker ``` 如果服务状态是“已停止”,则可以继续进行下一步。 3. 移动Docker文件夹。默认情况下,Docker文件夹位于C:\ProgramData\Docker目录下。您可以将该文件夹复制到新位置。 4. 打开Docker配置文件(daemon.json)。您可以在C:\ProgramData\Docker\config目录下找到该文件。使用任何文本编辑器打开该文件。 5. 在配置文件,找到“data-root”属性,并将其值更改为新位置的路径。例如,如果您将Docker文件夹移动到D:\Docker目录下,则应将该属性更改为: ``` "data-root": "D:\\Docker" ``` 6. 保存并关闭配置文件。 7. 启动Docker服务。在PowerShell或命令提示符输入以下命令: ``` Start-Service docker ``` 8. 检查Docker服务是否已启动。您可以使用以下命令检查服务状态: ``` Get-Service docker ``` 如果服务状态为“正在运行”,则表示您已成功迁移Docker文件夹。 请注意,如果您使用的是Docker桌面版,则无需执行上述步骤。Docker桌面版会自动管理Docker文件夹

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值