Docker镜像管理
镜像:Docker镜像是由文件系统叠加而成(是一种文件的存储形式);是docker中的核心概念,可以认为镜像就是对某些运行环境或者软件打的包,用户可以从docker仓库中下载基础镜像到本地,比如,开发人员可以从docker仓库拉取(下载)一个只包含centos7系统的基础镜像,然后在这个镜像中安装jdk、mysql、Tomcat和自己开发的应用,最后将这些环境打成一个新的镜像。开发人员将这个新的镜像提交给测试人员进行测试,测试人员只需要在测试环境下运行这个镜像就可以了,这样就可以保证开发人员的环境和测试人员的环境完全一致。
1 镜像相关命令
1.1 查看镜像
查看镜像可以使用如下命令:docker images
![](media/8dfba12eb5b8a545e4c63f5ffbddc582.png)
REPOSITORY:镜像名称
TAG:镜像标签(版本)
IMAGE ID:镜像ID
CREATED:镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小
这些镜像都是存储在Docker的 /var/lib/docker 目录下
1.2 搜索镜像
从网络中查找需要的镜像:docker search 镜像名称
例如 下载一个 nginx 镜像
![](wiki/docker/(media/ddd6eb4c16fa7193203dd42739eed11c.png)
- NAME:仓库名称
- DESCRIPTION:镜像描述
- STARS:用户评价,反应一个镜像的受欢迎程度
- OFFICIAL:是否官方
- AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建
1.3 拉取镜像
拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 【名称:版本号】,如果版本号不指定则是最新的版本
命令:docker pull 镜像名称
下载一个 nginx 的镜像 , 需要注意:如果下载的时候,不指定版本,会下载最新版本
![](media/d143d7c850370ed96cc990140e08db26.png)
刚刚下载的镜像通过 docker images 就可以查看
![](media/389c8d9277cc4dc7dd50b849bc2cd3b3.png)
1.4 删除镜像
可以按照镜像id删除镜像,命令如下:docker rmi 镜像ID
![](media/06c80bf0b706b6e999a9654c4e5818e5.png)
删除单个镜像(-f 强制删除):docker rmi -f 镜像ID
删除多个镜像:docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除所有镜像:docker rmi -f $(docker images -qa)
1.5从Docker Hub拉取
Docker镜像首页,包括官方镜像和其它公开镜像。Docker Hub上最受欢迎的10大镜像(通过Docker registry API获取不了镜像被pull的个数,只能通过镜像的stars数量来衡量镜像的流行度。毫无疑问,拥有最高stars数量的库都是官方库)。
https://hub.docker.com/search?image_filter=official&type=image
![](media/21fe65e0ed09cadb6b03360e2de4d0a6.png)
国情的原因,国内下载 Docker HUB 官方的相关镜像比较慢,可以使用国内(docker.io)的一些镜像加速器,镜像保持和官方一致,关键是速度快,推荐使用。