文章目录

  • 查看和删除镜像
  • 列出镜像
  • 镜像标签和仓库
  • 无截断返回镜像
  • 只显示镜像唯一ID
  • 以仓库名查看镜像
  • 查看镜像
  • 删除镜像
  • 获取和推送镜像
  • 查找镜像
  • 拉取镜像
  • 推送镜像


查看和删除镜像

  docker镜像是一种使用联合加载技术,层叠的只读文件系统,是容器构建的基石。存储在/var/lib/docker目录下。

  可以使用docker info命令查看docker的存储驱动和存储位置:

docker info

docker 如何查看本地仓库 查看docker仓库信息_docker 如何查看本地仓库

列出镜像

  查看镜像的命令格式如下:

$ docker images [OPTSIONS] [ REPOSITORY]
  1. -a:表示显示所有镜像, --all=false,默认并不显示中间层的镜像。
  2. -f:显示时的过滤条件,–fiter=[]
  3. –no-trunc=false:指定不使用截断的形式来显示数据,默认情况下是会截断镜像的唯一ID的
  4. -q:只显示镜像的唯一ID, --quiet=false。

镜像标签和仓库

docker images # 返回在docke中已经安装的镜像

docker 如何查看本地仓库 查看docker仓库信息_docker 如何查看本地仓库_02


  返回五列信息,第一列REPOSITORY是镜像所属的仓库名,Repository是一系列镜像的集合,里面存储一系列关联的镜像,比如说Ubuntu,里面的不同操作系统对应不同版本的镜像。Registry的仓库包含不同Repository的仓库;第二列TAG是镜像的标签名,在同一个仓库中不同的镜像是以标签的形式来区分的,仓库名加标签名就构成了一个完整的镜像名,对应一个镜像ID,如TAG默认为latest第三列IMAGE ID是镜像的唯一ID,这一列的ID实际上是和磁盘中存储的镜像的文件名是对应的,这一列实际上要比文件名对应的ID要短,这就是ID截断后的显示结果;第四列CREATED是镜像建立的时间;第五列VIRTUAL SIZE是镜像的大小。

无截断返回镜像

images --no-trunc=True

docker 如何查看本地仓库 查看docker仓库信息_docker_03

只显示镜像唯一ID

docker images -q

docker 如何查看本地仓库 查看docker仓库信息_ubuntu_04

以仓库名查看镜像

docker images ubuntu

docker 如何查看本地仓库 查看docker仓库信息_推送_05

查看镜像

  查看镜像的详细信息:

$ docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]

  inspect命令既支持容器的查看,又支持镜像的查看。

docker inspect ubuntu:latest

docker 如何查看本地仓库 查看docker仓库信息_推送_06

删除镜像

  删除镜像采用命令rmi(remove image),支持两个参数-f强制删除,--no-prune=false保留未打标签的父镜像。

$ docker rmi [OPTIONS] IMAGE [IMAGE...]
  1. -f, --force=false Force removal of the image
  2. –no-prune=false Do not delete untagged parents
docker rmi $(docker images -q ubuntu)

  上述命令删除ubuntu中所有镜像,因为-q只返回镜像ID

获取和推送镜像

查找镜像

  我们可以通过两种方式来查找镜像:

  1. Docker Hub的官方网站https://registry.hub.docker.com/

docker 如何查看本地仓库 查看docker仓库信息_推送_07

  1. Docker的命令行工具Docker Search查看(最多一次返回25个结果):
docker search [OPTIONS] TERM
  1. 自动化选项:–automated=false Only show automated builds只会显示自动化构建的docker镜像。
  2. –no-trunc=false Don’t truncate output,如果选择为True,将不以截断的方式显示输出。
  3. -s, --stars=0 Only displays with at least x stars,用来限定显示结果的最低星级。
docker search ubuntu

docker 如何查看本地仓库 查看docker仓库信息_ubuntu_08

  用star限制,只查找3star以上的镜像:

docker search -s 3 ubuntu

拉取镜像

  如果我们搜索到了想要的镜像,就可以利用dockerpull命令将镜像拉取到本地。

docker pull [OPTIONS] NAME [:TAG]
  1. -a–all-tags=false Download all tagged images in the repository
docker pull ubuntu:14.04

  但是上述命令比较慢,因此可以使用--registry-mirror选项,使用国内的docker的仓库镜像服务器来进行docker镜像的下载。--registry-mirror选项是docker守护进程在运行时的一个选项,如果我们要添加这个选项,我们需要修改docker的配置文件,并把仓库镜像的选项添加到配置文件中。

  使用--registry-mirror选项:

  1. 修改: /etc/default/docker
  2. 添加: DOCKER_ OPTS="–registry-mirror= http://MIRROR ADDR"

  在进行这步操作之前,我们需要获得一个本地镜像的一个链接,这里采用dockercloud来实现。

docker 如何查看本地仓库 查看docker仓库信息_docker 如何查看本地仓库_09

  注册账户,之后找到加速器:

docker 如何查看本地仓库 查看docker仓库信息_docker 如何查看本地仓库_10

  会自动生成一个链接,之后就可以使用这个链接来配置仓库地址。有了链接之后就可以修改docker的启动配置文件:

vim /etc/default/docker
DOCKER_ OPTS="--registry-mirror= http://f1361db2.m.daocloud.io"

  修改完成后保存文件,重启docker的守护进程

sudo service docker restart

  这时再查看docker的相关进程,可以看到刚刚添加的仓库镜像的选项,已经在docker守护进程运行时添加成功了。

ps -ef | grep docker

  之后再使用pull命令,速度会有明显地提高。

推送镜像

  我们也可以将本地的镜像上传到docker hub中去:

docker push NAME [:TAG]

  这里docker不会提交整个镜像,而只会提交修改的部分。