Docker镜像操作
Docker镜像操作
3.1 Docker镜像定义
Docker镜像是由文件系统叠加而成(是一种文件的存储形式),最底端是一个文件引导系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker容器启动是需要的一些文件,而这些文件就可以称为Docker镜像。
3.2 列出镜像
列出docker下的所有镜像:docker images
参数定义:
-
REPOSITORY:镜像所在的仓库名称
-
TAG:镜像标签
-
IMAGE ID:镜像ID
-
CREATED:镜像的创建日期(不是获取该镜像的日期)
-
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
为了区分同一个仓库下的不同镜像,Docker提供了一种称为标签(Tag)的功能。每个镜像在列出来时都带有一个标签— 一般是版本号,例如12.10、12.04等等。每个标签对组成特定镜像的一些镜像层进行标记(比如,标签12.04就是对所有Ubuntu12.04镜像层的标记)。这种机制使得同一个仓库中可以存储多个镜像。
我们在运行同一个仓库中的不同镜像时,可以通过在仓库名后面加上一个冒号和标签名来指定该仓库中的某一具体的镜像,例如
docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash
表明从镜像Ubuntu:12.04启动一个容器,而这个镜像的操作系统就是Ubuntu:12.04。在构建容器时指定仓库的标签也是一个好习惯。
3.3 搜索镜像
如果需要从网络中查找需要的镜像,可以通过以下命令搜索:
docker search 镜像名称
参数定义:
- NAME:仓库名称
- DESCRIPTION:镜像描述
- STARS:用户评价,反应一个镜像的受欢迎程度
- OFFICIAL:是否官方
- AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
3.4 拉取镜像
3.4.1 从Docker Hub拉取
Docker镜像首页,包括官方镜像和其它公开镜像。Docker Hub上最受欢迎的10大镜像如下图所示
(通过Docker registry API获取不了镜像被pull的个数,只能通过镜像的stars数量,来衡量镜像的流行度。一般而言拥有最高stars数量的库都是官方库)
国情的原因,国内下载 Docker HUB 官方的相关镜像比较慢,可以使用国内(docker.io)的一些镜像加速器来提高下载速度,推荐使用 ustc镜像。
3.4.2 配置 ustc 镜像
ustc是老牌的linux镜像服务提供者了,其docker镜像加速器速度很快,优势就是不需要注册,可以直接使用。
使用帮助链接:https://lug.ustc.edu.cn/wiki/mirrors/help/docker
配置步骤:
- 编辑 daemon.json文件
vi /etc/docker/daemon.json // 如果该文件不存在就手动创建;说明:在centos7.x下,通过vi命令
- 文件中输入如下内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
编辑完后按ESC键进入命令模式,输入:wq保存并退出
3.4.3 拉取镜像命令
拉取就是下载,命令如下:
docker pull 镜像名称
例如:docker pull tomcat – docker images
3.5 删除镜像
删除命令:
docker rmi $IMAGE_ID:删除指定镜像
docker rmi `docker images -q`:删除所有镜像
注意:删除所有镜像时不会删除正在被使用的镜像,建议确保该镜像没有被使用后再进行删除操作