大多数Docker入门相关文章都是从一串命令输出一个“Hello World”开始的。本文则是按照Docker镜像、Docker容器再到“Hello World”进行循序渐进的讲解。阅读本文者需要对Linux命令很熟悉,还需要明白镜像、仓库、容器三大概念。
1. 镜像操作入门
1.1 概念
镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像是容器在本地运行的基础,Dokcer运行容器前需要本地存在对应的镜像,如果不存在对应的镜像,Docker 会先从默认的镜像仓库下载(如果用户不希望Docker从默认的镜像仓库下载镜像的话,可以使用自定义镜像仓库)。下面将从拉取镜像,列出镜像,删除镜像,搜索镜像这三方面进行镜像相关知识点的讲解。
1.2 拉取镜像
拉取镜像指的是从Docker远程仓库直接拉取镜像到本地。需要注意的是,在国内访问Docker Hub巨慢,需要配置镜像加速,推荐使用阿里云进行加速,具体办法可以百度。
拉取镜像用到的命令:
docker pull 镜像名:标签名
这里的标签名常常省略,如果省略,默认为:
docker pull 镜像名:latest
接下来试一下拉取最新的ubuntu镜像
1.3 列出本地镜像
支持使用以下两个命令来列出本机已有镜像:
docker image ls
或
docker images
接下来试一下这两个命令:
字段解释:
- REPOSITORY:镜像所在仓库名称
- TAG:标签名
- IMAGE ID :镜像ID
- CREATED :创建时间
- SIZE:镜像大小
加上-q属性,则只列出镜像ID
1.4 删除镜像
支持使用以下两个命令执行删除镜像操作:
docker rmi 镜像id/镜像名:标签名
或
docker image rm 镜像id/镜像名:标签名
同样的,标签名如果省略的话,默认为latest
前面我们使用docker images -q/docker image ls -q列出了所有镜像ID,我们可以将这个命令和docker rmi命令结合,用来删除所有镜像:
docker rmi `docker images -q`
已经全部删除了
1.5 搜索镜像
如果你需要从远程仓库中查找需要的镜像,可以通过以下命令搜索:
docker search 关键字
如搜索centos:
字段解释:
- NAME:名字
- DESCRIPTION:描述
- STARS:受欢迎程序
- OFFICIAL:是否是官方版
- AUTOMATED:是否是由Docker Hub自动构建流程构建的
扩展命令:
[1] 列出受欢迎程度大于1000的镜像:
docker search -s 1000 centos
[2] 显示描述详情
docker search --no-trunc