#云原生征文#Docker容器实战:镜像管理命令 原创
本文将介绍Docekr镜像相关的管理命令。
一. 搜索镜像
Docker默认会从Docker Hub的网站下载镜像,在下载之前我们可以使用docker search命令搜索该站点上的镜像仓库,该命令将列出相关的仓库信息。
命令的格式为docker search + [选项] +<image_name>,如:
注释:NAME字段为镜像仓库名称,搜索结果会列出网站上包括Docker官方以及第三方的镜像仓库,其中第一个带nginx关键字的为官方仓库,其他第三方镜像仓库会在前面带上名称空间信息;DESCRIPTION为仓库的描述;STARS可以理解为镜像的受欢迎程度,一般优先选择START多的镜像;OFFICIAL表示该镜像是否为官方镜像;AUTOMATED代表为自动构建;
docker search 支持以下命令选项:
-f, --filter filter :根据条件过滤输出内容;
--format string :格式化输出内容;
--limit int :限制显示结果数量,默认为25个;
--no-trunc:显示完整信息;
例如:只搜索官方的Nginx镜像,可以使用如下命令选项
二. 下载镜像
在创建容器前,我们需要先下载相关的镜像。使用docker [image] pull 命令可直接从Docker Hub网站上下载镜像到本地,格式为:docker [image] pull <image_name>:<tag>。
此处以Nginx镜像作为示例,如下:
注释:如果在命令中不指定tag,则默认会下载标签为latest 的最新稳定版本镜像。
docker pull命令支持的选项主要包括:
-a, --all-tags :拉取所有 tagged 镜像
--disable-content-trust :跳过镜像校验阶段,默认为开启
-q, --quiet:静默输出
三. 查看镜像信息
在下载镜像后,我们可以通过 docker images或docker image ls 命令,查看本地已有镜像信息。
如:
注释:REPOSITORY显示镜像来源于哪个仓库;TAG为镜像的标签信息,通常会使用TAG来区分镜像版本;IMAGE ID 为镜像的唯一标识ID;CREATED表示镜像创建时间;SIZE为镜像大小;
docker images命令主要的几个选项:
-a, --all : 显示包括临时镜像在内的所有镜像,默认为不显示;
-f, --filter filter: 根据条件过滤镜像;
--no-trunc :是否对输出结果较长部分进行截断,true为是,false为否;
假如需要查看单个镜像的详细信息,可使用docker [image] inspect 命令,可看到镜像的启动命令、变量等更多配置信息。命令格式为:docker [image] inspect <image_name>:<tag>。
如下:
四. 删除镜像
在使用较长时间后,系统中往往会因为各种原因而下载了各式各样的镜像文件。对此,可以定期进行镜像清理,避免占用过多存储空间。
删除镜像可以使用docker rmi 或docker image rm命令,命令格式为docker rmi <image_name>:<tag> 或 docker rmi <image_id>。
如:
需要注意的是,如果有容器正在使用该镜像的话,那么镜像将无法删除,并且系统将会出现报错提示。
如:
在这种情况下 ,虽然可以使用加 -f 参数的方式强制删除,但通常不建议这样操作。正确的做法是找到该容器,在确认不再使用后停止并删除,然后再进行镜像的清理。
对于镜像的清理 ,也可以使用docker image prune命令来操作。该命令的好处是不需要用户指定镜像,会自动清理所有未被使用的镜像。
命令支持以下参数:
-a, --all 删除所有未使用镜像(默认只删除临时镜像)
--filter filter 根据条件筛选镜像
-f, --force 强制删除镜像
如下:
当清理完成后,命令会最后提示释放的空间。
五. 导出与存入镜像
在某些情况下,我们可能需要将机器中的镜像导出,作为备份保存起来,或者将其存入到另一台机器中使用。此时,我们可以使用Docker的镜像导出和存入命令。
1. 导出镜像
导出镜像的命令为docker [image] save,命令使用参数 -o指定导出镜像到文件中。
如:
2. 存入镜像
在镜像导出后,可以通过网络或拷贝等方式文件同步到其他机器上。此时,使用docker [image] load命令即可将文件导入到该机器的镜像库中。
如:
【本文正在参加云原生有奖征文活动】,活动链接:https://ost.51cto.com/posts/12598”