Docker之镜像

1 镜像简介

镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。通过镜像可以创建一个或多个容器。

镜像文件通过docker跑起来,就是容器。暂时理解为,每一个容器是独立的操作系统跑着软件,(centos+redis、centos+mysql、Debian+python3.6),但容器并没有虚拟化出真正的操作系统。
假设centos7的镜像跑起来,就是容器,你就当成在你宿主机上(云服务器)跑了一个centos7的操作系统(跑在虚拟机里的)


 

2 镜像管理

我们一般直接到 官网 https://hub.docker.com/  搜索

# 作用:
	搜索Docker Hub(镜像仓库)上的镜像
      
# 命令格式:
	docker search [OPTIONS] TERM
    
# 命令参数(OPTIONS):
	-f,  --filter filter   	根据提供的格式筛选结果
	     --format string   	利用Go语言的format格式化输出结果
	     --limit int       	展示最大的结果数,默认25个
	     --no-trunc        	内容全部显示
        
#  命令演示
docker search -f is-offical=true ubuntu  # 搜索乌班图官方镜像 
docker search ubuntu                     # 搜索乌班图,模糊匹配

2.2 镜像查看 - docker images/docker image ls

这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

# 作用:
  列出本地镜像
    
# 命令格式:
	docker images [OPTIONS] [REPOSITORY[:TAG]]  
     或者  docker image ls [OPTIONS] [REPOSITORY[:TAG]]
        
# 命令参数(OPTIONS):	
	-a, --all             展示所有镜像 (默认隐藏底层的镜像)
	     --no-trunc       不缩略显示
	-q, --quiet           只显示镜像ID
    
# 命令演示:
docker images
docker images centos:latest

# 显示示例:
REPOSITORY   TAG    IMAGE ID   CREATED    SIZE
 镜像名字    版本   镜像id     创建时间   大小

2.3 镜像下载 - docker pull

# 作用:
	下载远程仓库(如Docker Hub)中的镜像到本地
    
# 命令格式:
	docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    
# 命令参数(OPTIONS):
	-a, --all-tags  下载所有符合给定tag的镜像
    
# 命令演示:
docker pull ubuntu             # 默认拉的最新版本latest
docker pull centos:centos7     # 下载版本为centos7
docker pull python:3.6         # 下载版本为3.6
docker pull mysql:5.7          # 下载版本为5.7

2.4 镜像删除 - docker rmi/docker image rm

如果还有基于这个镜像的容器,是不允许删除镜像的,要先删除容器,再删除images

# 作用:
	将本地的一个或多个镜像删除
    
# 命令格式:
	docker rmi [OPTIONS] IMAGE [IMAGE...]
     或者  docker image rm [OPTIONS] IMAGE [IMAGE...]
        
# 命令参数(OPTIONS):	
	-f, --force        强制删除
    
# 命令演示:
docker rmi 镜像名字/镜像id号
docker rmi e934 452a           # 删除两个镜像
docker rmi `docker images -q`  # 删除所有镜像

2.5 镜像保存备份 – docker save

# 作用:
	将本地的一个或多个镜像打包保存成本地tar文件(输出到STDOUT)
    
# 命令格式:
	docker save [OPTIONS] IMAGE [IMAGE...]
    
# 命令参数(OPTIONS):	
	-o, --output string   指定写入的文件名和路径
    
# 命令演示:
docker save -o linux_images.tar centos ubuntu

2.6 镜像备份导入 - docker load

# 作用:
	将save命令打包的镜像导入本地镜像库中
    
# 命令格式:
	docker load [OPTIONS]
    
# 命令参数(OPTIONS):	
	-i,  --input string   	指定要导入的文件,如没有指定,默认是STDIN
	-q, --quiet             不打印导入过程信息
    
# 命令演示
docker load -i linux_images.tar
docker load -i linux_images.tar -q

2.7 镜像重命名 – docker tag

# 作用:
	对本地镜像的NAME、TAG进行重命名,并新产生一个命名后镜像
    
# 命令格式:
	docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
    
# 命令参数(OPTIONS):	
	无
    
# 命令演示
docker tag e934 centos-newname:newtag

2.8 镜像详细信息 – docker image inspect/docker inspect

# 作用:
	查看本地一个或多个镜像的详细信息
    
# 命令格式:
	docker image inspect [OPTIONS] IMAGE [IMAGE...]
      或者 docker inspect [OPTIONS] IMAGE [IMAGE...]
        
# 命令参数(OPTIONS):	
	-f, --format string      利用特定Go语言的format格式输出结果
    
# 命令演示:
docker image inspect -f "{{json .id}}" centos
docker image inspect 

2.9 镜像历史信息 – docker history

# 作用:
	查看本地一个镜像的历史(历史分层)信息
    
# 命令格式:
	docker history [OPTIONS] IMAGE
    
# 命令参数(OPTIONS):
	-H, --human		将创建时间、大小进行优化打印(默认为true)
	-q, --quiet           	只显示镜像ID
	     --no-trunc        	不缩略显示
        
# 命令演示
docker history ubuntu
docker history ubuntu -H=false

 

3 总结

 

posted @ 2022-10-15 22:55  不会钓鱼的猫  阅读(118)  评论(0编辑  收藏  举报