docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > 卸载Docker时保留本地镜像和容器

卸载Docker时保留本地镜像和容器方式

作者:骑上单车去旅行

文章讲述了如何在Linux、Windows和Mac系统中备份和恢复Docker镜像和容器,备份过程包括列出本地镜像、保存镜像和导出容器,恢复过程则涉及卸载Docker、重新安装Docker以及使用dockerload和dockerimport命令恢复镜像和容器

1. 在Linux系统中(以Ubuntu和CentOS为例)

备份镜像和容器相关数据

镜像备份

首先,列出本地所有的镜像并记录它们的信息,包括镜像名称、标签和ID。

可以使用docker images命令查看。然后使用docker save命令来保存镜像。

例如,要保存名为myimage,标签为latest的镜像,可以使用以下命令:

docker save -o myimage_latest.tar myimage:latest

其中-o选项指定输出文件的名称,myimage_latest.tar是保存后的文件名,可以根据需要修改。

如果有多个镜像需要保存,可以依次对每个镜像执行此操作。

容器备份(可选)

如果要备份容器,可以先使用docker export命令。

例如,对于一个名为mycontainer的容器,使用以下命令将其导出为一个tar文件:

docker export -o mycontainer.tar mycontainer

不过要注意:

docker export导出的是容器的文件系统快照,不包括容器的元数据(如容器的启动命令、环境变量等)。

如果希望完整备份容器的状态,包括元数据,可能需要考虑使用其他工具或者方法,如记录容器的创建参数并结合文件系统快照来进行备份。

卸载Docker

sudo apt - get purge docker - ce docker - ce - cli containerd.io
sudo yum remove docker - ce docker - ce - cli containerd.io

重新安装Docker后恢复镜像和容器(如果需要)

镜像恢复

在重新安装Docker后,使用docker load命令来恢复之前备份的镜像。

例如,对于之前备份的myimage_latest.tar文件,可以使用以下命令恢复:

docker load -i myimage_latest.tar

容器恢复(可选)

对于使用docker export备份的容器,在恢复镜像后,可以使用docker import命令来恢复容器。

例如,对于之前备份的mycontainer.tar文件,可以使用以下命令恢复:

docker import mycontainer.tar mynewcontainer:latest

不过,使用docker import恢复的容器与原来的容器在某些方面可能会有所不同,如容器的启动命令等可能需要重新设置,因为它只导入了文件系统内容。

2. 在Windows系统中

备份镜像和容器相关数据

镜像备份

在命令提示符(CMD)或PowerShell中,使用docker images命令查看本地镜像信息。然后使用docker save命令来保存镜像。

例如,对于名为myimage,标签为latest的镜像,运行以下命令:

docker save -o myimage_latest.tar myimage:latest

容器备份(可选)

虽然Windows系统下Docker容器是基于Hyper - V运行的,但同样可以使用docker export命令备份容器。

例如,对于名为mycontainer的容器,运行以下命令将其导出为tar文件:

docker export -o mycontainer.tar mycontainer

卸载Docker

重新安装Docker后恢复镜像和容器(如果需要)

镜像恢复

在重新安装Docker后,在命令提示符或PowerShell中使用docker load命令恢复镜像。

例如,对于之前备份的myimage_latest.tar文件,运行以下命令:

docker load -i myimage_latest.tar

容器恢复(可选)

对于使用docker export备份的容器,在恢复镜像后,使用docker import命令恢复容器。

例如,对于之前备份的mycontainer.tar文件,运行以下命令:

docker import mycontainer.tar mynewcontainer:latest

3. 在Mac系统中

备份镜像和容器相关数据

镜像备份

在终端中使用docker images命令查看本地镜像信息,然后使用docker save命令保存镜像。

例如,对于名为myimage,标签为latest的镜像,运行以下命令:

docker save -o myimage_latest.tar myimage:latest

容器备份(可选)

使用docker export命令备份容器。

例如,对于名为mycontainer的容器,运行以下命令将其导出为tar文件:

docker export -o mycontainer.tar mycontainer

卸载Docker

重新安装Docker后恢复镜像和容器(如果需要)

镜像恢复

重新安装Docker后,在终端中使用docker load命令恢复镜像。

例如,对于之前备份的myimage_latest.tar文件,运行以下命令:

docker load -i myimage_latest.tar

容器恢复(可选)

对于使用docker export备份的容器,在恢复镜像后,使用docker import命令恢复容器。

例如,对于之前备份的mycontainer.tar文件,运行以下命令:

docker import mycontainer.tar mynewcontainer:latest

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文