[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
,标签是latest
。latest
标签通常指向镜像的最新稳定版本
第三步导入
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会执行以下步骤:
-
读取归档文件:Docker首先会读取你指定的归档文件(
/jingxiang/sentinel-dashboard_latest.tar
)。这个文件应该包含之前通过docker save
命令保存的一个或多个Docker镜像的数据。 -
验证归档文件:Docker会验证归档文件是否包含有效的Docker镜像数据。这包括检查文件的格式、完整性等。
-
加载镜像:如果归档文件验证通过,Docker会将归档文件中的镜像数据加载到本地Docker镜像库中。这包括镜像的每一层(layer)、元数据(metadata)以及标签(tag)等信息。
-
完成加载:加载完成后,你可以通过
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]
。