3.1docker镜像的操作
Docker容器运行前,需要本地存在对应的镜像,如果本地镜像不存在,docker会尝试从默认镜像仓库下载(docker hub公共注册服务器的仓库)。用户也可以创建自己的镜像仓库。
3.1.1使用pull命令来获取镜像
dockerpull <image> NAME:TAG
- image:镜像名称
- NAME:镜像仓库名称(如不指定,默认使用docker hub公共注册服务器的仓库)
- TAG:镜像标签(如不指定,默认使用最新版本latest)
实验1:从docker hub公共注册服务器的仓库获取一个httpd镜像的最新版本
docker pull httpd
完整格式:docker pull registry.hub.docker.com/httpd:latest
实验2:查看本地镜像信息
docker image ls
实验3:启动第一个容器
docker run -it httpd bash
-i:保持标准输入
-t:分配一个tty
3.1.2查看镜像信息
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS:选项
--all/-a:显示所有镜像,包括临时文件
----digests:显示哈稀摘要
-q:只显示ID
-f/--filter:按条件过虑
dangling=true|false 只显示tag为空的镜像,默认为false
before=[image[:tag]]显示此镜像创建之前就存在的镜像
since=[image[:tag]]显示此镜像创建之后存在的镜像
label= 根据标签进行过滤,,其中lable的值,是docker在编译的时候配置的或者在Dockerfile中配置的
reference= :添加正则进行匹配(使用通配符进行匹配),如reference=h*:latest,表示h开头,TAG是lattest的镜像文件。
--format :按照指定的格式显示
如: --format "{{.Repository}} {{.ID}} {{.Tag}} {{.CreatedSince}}" ,则依次显示Repostitory、ID、Tag、CreatedSince这四个值
显示镜像详细信息
docker image inspect IMAGE[:TAG]
3.1.3使用tag命令给镜像添加标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
例如:docker tag httpd:latest myhttpd:1.0
给httpd:latest这个镜像添加一个名为myhttpd:1.0的标签
这两个标签的ID是相同的,也就是说这两个标签指向的镜像实际上是同一下。
3.1.4使用history命令查看镜像文件的创建历史
3.1.5使用search命令搜索仓库中的镜像
docker search [OPTIONS] TERM
TERM:关键字
如:docker search http
在仓库中搜索带http关键字的镜像
OPTIONS:选项
-f/--filter:按条件过虑
is-automated=是否自动创建
is-official=是否官方发布
stars=星数
--format :按照指定的格式显示
如: --format "{{.Description}} {{.StarCount }} {{.IsOfficial}} {{.IsAutomated}}" ,则依次显示镜像描述、星数、是否官方、是否自动创建这四个值
3.1.6删除镜像
docker image rm/docker rmi [OPTION] IMAGE[:TAG]
-f/--force:强制删除,即使此镜像正在被某容器使用;
--no-prune:不删除无TAG的镜像
当一个镜像有多个标签的时候,删除任意一个IMAGE[:TAG],都不会把镜像真正删除。但一个镜像只有一个标签时,删除IMAGE[:TAG],就会把镜像删除。
3.1.7清理临时镜像和未使用镜像
docker image prune[OPTIONS]
-a/--all:删除所有无用镜像
--filter:只清理符合过滤条件的镜像
-f/--force:强制清理