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

 更新时间:2024年11月27日 09:59:59   作者:骑上单车去旅行  
文章讲述了如何在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

  • 按照常规的卸载步骤进行操作,如在Ubuntu中运行
sudo apt - get purge docker - ce docker - ce - cli containerd.io
  • 在CentOS中运行
sudo yum remove docker - ce docker - ce - cli containerd.io
  • 来卸载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

不过,使用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 Desktop。

重新安装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 Desktop”应用程序拖移到废纸篓来卸载。

重新安装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 镜像传输的实现步骤

    Docker 镜像传输的实现步骤

    本文主要介绍了Docker 镜像传输的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-08-08
  • Docker如何解决tomcat容器启动成功,无法访问的问题

    Docker如何解决tomcat容器启动成功,无法访问的问题

    这篇文章主要介绍了Docker如何解决tomcat容器启动成功,无法访问的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 一文详解如何在Ubuntu系统中安装docker

    一文详解如何在Ubuntu系统中安装docker

    这篇文章主要为大家详细介绍了在Ubuntu操作系统上安装Docker的步骤,以便我们可以开始使用Docker来构建和运行容器化应用程序,希望对大家有所帮助
    2024-03-03
  • docker部署zabbix_agent的方法步骤

    docker部署zabbix_agent的方法步骤

    这篇文章主要介绍了docker部署zabbix_agent的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Docker安装部署rocketmq-console工具教程

    Docker安装部署rocketmq-console工具教程

    这篇文章主要介绍了Docker安装部署rocketmq-console工具教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Dockerfile指令详解

    Dockerfile指令详解

    Dockerfile有十几条命令可用于构建镜像,下文将简略介绍这些命令。希望小伙伴们能够喜欢
    2016-10-10
  • Docker 部署 MongoDB容器的方法

    Docker 部署 MongoDB容器的方法

    Docker就可以帮助我们将开发的应用程序,以及该程序的依赖包都打包在一个文件里,下面通过本文给大家分享Docker 部署 MongoDB的详细教程,感兴趣的朋友一起看看吧
    2021-06-06
  • 详解通过Docker搭建Mysql容器+Tomcat容器连接环境

    详解通过Docker搭建Mysql容器+Tomcat容器连接环境

    本篇文章主要介绍了通过Docker搭建Mysql容器+Tomcat容器连接环境,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • docker容器访问GPU资源的使用指南

    docker容器访问GPU资源的使用指南

    nvidia-docker 和 nvidia-container-runtime 是用于在 NVIDIA GPU 上运行 Docker 容器的两个相关工具,它们的作用是提供 Docker 容器与 GPU 加速硬件的集成支持,本文给大家介绍了docker容器访问GPU资源的使用指南,需要的朋友可以参考下
    2024-02-02
  • Docker定制容器镜像的2种方法(推荐)

    Docker定制容器镜像的2种方法(推荐)

    本篇文章主要介绍了Docker定制容器镜像的2种方法(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论