文章目录
- 查看和删除镜像
- 列出镜像
- 镜像标签和仓库
- 无截断返回镜像
- 只显示镜像唯一ID
- 以仓库名查看镜像
- 查看镜像
- 删除镜像
- 获取和推送镜像
- 查找镜像
- 拉取镜像
- 推送镜像
查看和删除镜像
docker
镜像是一种使用联合加载技术,层叠的只读文件系统,是容器构建的基石。存储在/var/lib/docker
目录下。
可以使用docker info
命令查看docker
的存储驱动和存储位置:
docker info
列出镜像
查看镜像的命令格式如下:
$ docker images [OPTSIONS] [ REPOSITORY]
- -a:表示显示所有镜像, --all=false,默认并不显示中间层的镜像。
- -f:显示时的过滤条件,–fiter=[]
- –no-trunc=false:指定不使用截断的形式来显示数据,默认情况下是会截断镜像的唯一ID的
- -q:只显示镜像的唯一ID, --quiet=false。
镜像标签和仓库
docker images # 返回在docke中已经安装的镜像
返回五列信息,第一列REPOSITORY
是镜像所属的仓库名,Repository
是一系列镜像的集合,里面存储一系列关联的镜像,比如说Ubuntu
,里面的不同操作系统对应不同版本的镜像。Registry
的仓库包含不同Repository
的仓库;第二列TAG
是镜像的标签名,在同一个仓库中不同的镜像是以标签的形式来区分的,仓库名加标签名就构成了一个完整的镜像名,对应一个镜像ID
,如TAG
默认为latest
;第三列IMAGE ID
是镜像的唯一ID
,这一列的ID
实际上是和磁盘中存储的镜像的文件名是对应的,这一列实际上要比文件名对应的ID
要短,这就是ID
截断后的显示结果;第四列CREATED
是镜像建立的时间;第五列VIRTUAL SIZE
是镜像的大小。
无截断返回镜像
images --no-trunc=True
只显示镜像唯一ID
docker images -q
以仓库名查看镜像
docker images ubuntu
查看镜像
查看镜像的详细信息:
$ docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
inspect
命令既支持容器的查看,又支持镜像的查看。
docker inspect ubuntu:latest
删除镜像
删除镜像采用命令rmi
(remove image),支持两个参数-f
强制删除,--no-prune=false
保留未打标签的父镜像。
$ docker rmi [OPTIONS] IMAGE [IMAGE...]
- -f, --force=false Force removal of the image
- –no-prune=false Do not delete untagged parents
docker rmi $(docker images -q ubuntu)
上述命令删除ubuntu
中所有镜像,因为-q
只返回镜像ID
。
获取和推送镜像
查找镜像
我们可以通过两种方式来查找镜像:
-
Docker Hub
的官方网站:https://registry.hub.docker.com/
- Docker的命令行工具Docker Search查看(最多一次返回
25
个结果):
docker search [OPTIONS] TERM
- 自动化选项:–automated=false Only show automated builds只会显示自动化构建的
docker
镜像。 - –no-trunc=false Don’t truncate output,如果选择为
True
,将不以截断的方式显示输出。 - -s, --stars=0 Only displays with at least x stars,用来限定显示结果的最低星级。
docker search ubuntu
用star
限制,只查找3
个star
以上的镜像:
docker search -s 3 ubuntu
拉取镜像
如果我们搜索到了想要的镜像,就可以利用docker
的pull
命令将镜像拉取到本地。
docker pull [OPTIONS] NAME [:TAG]
- -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
选项:
- 修改: /etc/default/docker
- 添加: DOCKER_ OPTS="–registry-mirror= http://MIRROR ADDR"
在进行这步操作之前,我们需要获得一个本地镜像的一个链接,这里采用dockercloud
来实现。
注册账户,之后找到加速器:
会自动生成一个链接,之后就可以使用这个链接来配置仓库地址。有了链接之后就可以修改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
不会提交整个镜像,而只会提交修改的部分。