Docker 导出,导出镜像的方法

[root@iZ2zeitqbe4rhf36cmjafmZ ~]# mkdir -p /jingxiang

第一步准备

        现在指定位置创建“文件夹” 用于存储导出的.tar文件 上述仅为演示意思是在根目录下创建一个名为jingxiang的文件 

  • mkdir:这是“make directories”的缩写,是用于创建目录的命令。

  • -p:这个选项是可选的,但它非常有用。-p选项允许mkdir命令在需要时创建多级目录(即目录的目录),而不会因为父目录不存在而报错。如果指定的目录已经存在,使用-p选项的mkdir命令也不会报错,而是会默默地成功执行。

 

---------------------------------------------------------------------------------------------------------------------------------

[root@iZ2zeitqbe4rhf36cmjafmZ ~]# docker save -o /jingxiang/nacos_server.tar nacos/nacos-server:latest

 第二步导出

        这个命令的作用是将Docker镜像nacos/nacos-server:latest保存到一个归档文件中,该文件的路径和名称由被指定为/jingxiang/nacos_server.tar。 

  • -o /jingxiang/nacos_server.tar:这里的-o(或--output)选项用于指定输出文件的路径和名称。在上述个例子中,输出文件被命名为nacos_server.tar,并保存在/jingxiang目录下。注意,/jingxiang目录必须已经存在,否则命令会失败。
  • nacos/nacos-server:latest:这是要保存的Docker镜像的名称和标签。在上述例子中,镜像的名称是nacos/nacos-server,标签是latestlatest标签通常指向镜像的最新稳定版本

第三步导入

docker load -i /jingxiang/sentinel-dashboard_latest.tar

docker load -i /jingxiang/sentinel-dashboard_latest.tar 命令是Docker中用于加载(或恢复)之前通过docker save命令保存的镜像归档文件(.tar文件)的命令。这个命令允许你将一个或多个Docker镜像从一个归档文件中加载到本地Docker镜像库中,以便你可以像使用其他本地镜像一样使用它们。 

  • docker load:这是Docker的一个命令,用于从归档文件中加载镜像。与docker save命令相对,docker load用于恢复之前保存的镜像。

  • -i /jingxiang/sentinel-dashboard_latest.tar:这里的-i(或--input)选项用于指定输入文件的路径。在上述例子中,输入文件是/jingxiang/sentinel-dashboard_latest.tar,这是你之前通过docker save命令保存的sentinel-dashboard:latest镜像的归档文件。/jingxiang是包含归档文件的目录的路径,而sentinel-dashboard_latest.tar是归档文件的名称。

当你执行docker load -i /jingxiang/sentinel-dashboard_latest.tar命令时,Docker会执行以下步骤: 

  1. 读取归档文件:Docker首先会读取你指定的归档文件(/jingxiang/sentinel-dashboard_latest.tar)。这个文件应该包含之前通过docker save命令保存的一个或多个Docker镜像的数据。

  2. 验证归档文件:Docker会验证归档文件是否包含有效的Docker镜像数据。这包括检查文件的格式、完整性等。

  3. 加载镜像:如果归档文件验证通过,Docker会将归档文件中的镜像数据加载到本地Docker镜像库中。这包括镜像的每一层(layer)、元数据(metadata)以及标签(tag)等信息。

  4. 完成加载:加载完成后,你可以通过docker images命令来查看本地Docker镜像库中的镜像列表,你应该能够在列表中找到刚刚加载的sentinel-dashboard:latest镜像。

注意事项

  • 确保归档文件(.tar文件)是完整的,并且在加载过程中没有被损坏或修改。
  • 加载的镜像将使用与保存时相同的名称和标签(在这个例子中是sentinel-dashboard:latest),除非你之后使用docker tag命令来改变它。

Docker Tag 命令

docker tag 命令是 Docker 命令行工具中的一个命令,用于给本地镜像打标签(tag)。

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • SOURCE_IMAGE[:TAG]:源镜像及其标签。如果不指定标签,则默认为 latest
  • TARGET_IMAGE[:TAG]:目标镜像及其标签。这是你想要给源镜像打上的新标签

假设你有一个本地镜像 myimage:v1,你想要将它重命名为 mycustomimage 并保留 v1 标签,你可以执行:

docker tag myimage:v1 mycustomimage:v1

如果你想要给 myimage:v1 添加一个 latest 标签(假设它还没有这个标签),你可以执行

docker tag myimage:v1 myimage:latest

注意事项 

  • 使用 docker tag 命令时,请确保目标镜像名(和标签,如果指定了的话)在本地镜像库中是唯一的,以避免冲突。
  • 更改镜像的标签不会影响镜像的实际内容或结构;它只是改变了镜像的引用方式。
  • 如果你打算将标记了新标签的镜像推送到 Docker 仓库,请确保仓库已经存在,并且你有权限向其中推送镜像。推送镜像到仓库的命令是 docker push TARGET_IMAGE[:TAG]
docker导出镜像方法有两种。第一种是使用docker export命令,根据容器ID将镜像导出成一个文件,例如使用命令docker export f299f501774c > hangger_server.tar。第二种是使用docker save命令,根据镜像名称将镜像保存到一个文件中,例如使用命令docker save -o hangger_server.tar hangger_server。导出镜像文件可以用于备份和迁移镜像。 在导入镜像时,可以使用docker import命令将导出镜像文件导入到docker中。例如使用命令docker import hangger_server.tar new_hangger_server。导入后,新的镜像将被创建并可以在docker中使用。 总结起来,导出镜像可以使用docker export或docker save命令,导入镜像可以使用docker import命令。这些命令提供了在docker中进行镜像的备份和迁移的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker 镜像导入与导出](https://blog.csdn.net/qq_37502106/article/details/103545170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker镜像的导入导出](https://blog.csdn.net/Bejpse/article/details/126327690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值