如何备份和恢复 Docker 容器
www. On IT Road .com

恢复 Docker 容器

  1. 可以使用以下命令从备份tar文件中提取镜像
# docker load -i /tmp/backup01.tar
ff91b8b5abb1: Loading layer [==================================================>] 2.56 kB/2.56 kB
Loaded image: backup01:latest

我们可以使用“docker run”从此镜像创建容器。
如果原始容器上有数据量。
我们也必须恢复数据卷并使用数据卷运行容器(docker run -v)

  1. 在推送镜像的情况下。可以直接拉取。
# docker pull localhost:5000/backup-image:v1

备份 Docker 容器

  1. 将所需的容器作为镜像提交
# docker commit -p [container-id] backup01
sha256:89682d4xxxxxx

现在将创建一个新的镜像 backup01.
请注意,这不包括数据量。
我们需要单独备份数据卷(如果有)。

要了解容器的此数据目录(数据卷位置),请使用命令“docker inspect container-name”。
我们将看到一个名为“Mounts”的部分。
“来源”中提到的位置是数据量。
你可以直接备份这个文件夹(这里是/site)来备份数据量。

"Mounts": [
{
"Source": "/site",
"Destination": "/usr/xx/xxx/xxxs",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
  1. 我们可以使用以下命令将镜像 backup01 保存到 tar 文件:
# docker save -o backup01.tar backup01
# ls -al | grep back
-rw------- 1 root root 178697728 Mar 31 23:35 backup01.tar

我们可以选择将 tar 文件保存在 NFS 挂载点上。
另一种选择是直接将镜像 backup01 推送到本地注册表。
在推送备份镜像之前,我们需要对其进行适当的标记。

# docker tag backup01 localhost:5000/backup-image:v1

在此示例中,localhost 是本地注册表所在的主机名,5000 是注册表侦听的端口号。
如果我们正在使用位于与注册表不同的主机上的 Docker 引擎,则必须更改主机名以指向正确的主机。
请注意,示例中的存储库和标签名称 backup-image:v1 必须全部小写才能成为有效标签。

# docker push backup-image:v1
日期:2020-09-17 00:16:25 来源:oir作者:oir