从Docker hub 镜像源来下载镜像
docker [image] pull NAME [:TAG]
NAME是镜像仓库名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息)
比如,获取一个Ubuntu18.04系统的基础镜像
$ docker pull ubuntu:18.04
不显示指定TAG,默认选择latest标签(最新)
不同仓库存在重名镜像,下载镜像时,镜像的仓库名称中还应该添加仓库地址(即registry,注册服务器)作为前缀,只是默认使用Docker Hub服务,该前缀可以忽略。
比如从网易蜂巢的镜像来源来下载ubuntu:18.04镜像
$ docker pull hub.c.163.com/public/ubuntu:18.04
//是否获取仓库中的所有镜像
-a , --all-tags=true|false
//取消镜像的内容校验,默认为真
--disable-content-trust
使用镜像代理服务加速,在docker服务启动配置文件中增加
--registry-mirror=proxy_URL
来指定镜像代理服务地址
2.查看镜像信息iamges 、 tag 、 inspect
images列出镜像
docker images
docker iamges ls
子命令
-a, --all=true|false //列出所有镜像文件(包括临时文件),默认false
--digests=true|false //列出镜像的数字摘要值,默认false
-f, --filter=[] //过滤列出的镜像
--format="TEMPLATE" //控制输出格式。如.ID代表ID信息,.Repository代表仓库信息等
--no-trunc=true|false //对输出结果中太长的部分是否进行截断,默认true。如镜像ID信息。
-q, --quiet=true|false //仅输出ID信息,默认false
查看更多子命令
man docker-images
$ docker tag ubuntu:latest myubuntu:latest
tag添加镜像标签和之前的镜像是同一个镜像文件,只是别名不同。起到一个类似链接的作用。
inspect查看详细信息
docker [image] inspect
获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要、ip等。
获取某一项内容:如获取network内容
$ docker [image] inspect -f {{".NETWOEK"}} ubuntu:18.04
列出各层的创建信息
$ docker history ubuntu:18.04
过长的命令被截取了,可以通过前面的--no-trunc选项来输出完整命令。
3.搜索镜像
docker search [option] keyword
-f, --filter filter //过滤输出内容
--format sring //格式化输出内容
--limit int //限制输出结果个数,默认25个
--no-trunc //不截断输出结果
比如:搜索官方提供的带nginx关键字镜像
$ docker search --filter=is-official=true nginx
比如:搜索收藏超过4的,关键字tensorflow的镜像
$ docker search --filter=stars=4 tensorflow
docker rmi IMAGE [IMAGE...] //image可以是id或标签
docker image rm image
选项
-f, -force //强制删除镜像,即使有容器依赖它
-no-prune //不要清理未带标签的父镜像
比如:删除myubuntu:latest镜像
$ docker rmi myubuntu:latest
如果镜像创建了容器,先删除容器,再删除镜像。
$ docker rmi XXXX
使用docker一段时间后,系统中可能会遗留一些临时文件,以及一些没有被使用的镜像,清理命令
docker image prune
子命令
-a, --all:删除所有无用镜像,不光是临时文件
-filter filter:只清理符合给定过滤器的镜像
-f, -force:强制删除镜像,而不进行提示确认
主要方法有3种:基于已有镜像的容器创建,基于本地模板导入,基于Dockerfile创建。
5.1基于已有容器创建
docker [container] commit
,