帮助命令
docker version # 显示 docker 的版本信息
docker info # 显示 docker 更详细的信息,包括容器以及镜像的数量等等
docker --help 万能命令 # 帮助命令
官方帮助文档的地址 :https://docs.docker.com/reference/
镜像命令
docker images: 查看本机所有的本地镜像
解释:
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像的 ID
CREATED:镜像的创建日期
SIZE:镜像的大小
docker images --help:查看该命令的帮助文档
解释:
-a, --all:显示所有的镜像
-q, --quiet:只显示镜像的 ID
也可以将上述选项结合起来使用!!!
docker search:搜索某个镜像
这个命令的作用相当于从 Docker Hub 上搜索相关的镜像,比如搜索 mysql,如下图所示:
那么使用 docker search mysql 会出现类似的结果,如下图所示:
docker search --help:查看该命令的帮助文档
注意:如果将该命令写成 docker search help,系统会将 “help” 当成是一个镜像的名字。因此,在添加选项时,需要在前面加上 “-” 或者 “--”,比如:--filter,--format 等等!
现在,演示通过 stars 来过滤收藏数大于等于 3000 的,其命令为:--filter=STARS=3000,会自动过滤收藏数大于等于 3000 的条目。
docker search openpose --filter=STARS=3000
效果如下图所示:
docker pull 命令用于下载镜像
docker pull --help 查看该命令的帮助文档
比如,下载 mysql 的镜像,下载结果如所示:
下载镜像 docker pull 镜像名称 [:tag]
[root@tencent001 ~]# docker pull mysql
Using default tag: latest如果不写 tag,默认就是最新的镜像
latest: Pulling from library/mysql
45b42c59be33: Pull complete分层下载,docker image 的核心,联合文件系统
b4f790bd91da: Pull complete
325ae51788e9: Pull complete
adcb9439d751: Pull complete
174c7fe16c78: Pull complete
698058ef136c: Pull complete
4690143a669e: Pull complete
f7599a246fd6: Pull complete
35a55bf0c196: Pull complete
790ac54f4c47: Pull complete
18602acc97e1: Pull complete
365caa3500d0: Pull complete
Digest: sha256:b1cc887ed32cc6c2f217b12703bd05f503f2037892c8bb226047fe5dff85a109签名,防伪标志
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest真实地址
分层下载的好处就是,不同版本的镜像在下载或者使用的时候,可以共用一些层,不需要重复下载,并节省空间 !
在 mysql 版本为最新版本的条件下:
docker pull mysql 等价于 docker pull docker.io/library/mysql:latest
下载指定版本的 mysql 镜像
注意:指定版本的镜像,该镜像的版本不能是凭空想象的,该版本必须存在!
首先,可以从 docker hub 的官网上找到对应的版本信息,然后下载指定的版本镜像!
比如,mysql docker 镜像的版本如下图所示:
现在,我们可以下载 mysql 5.7 版本的 docker 镜像
docker pull mysql:5.7
注意:如果下载速度过慢,可以将 docker 的镜像源修改为阿里源,可以显著的提升下载速度
修改为阿里源的教程参考地址:https://www.cnblogs.com/BillyYoung/p/11113914.html
下载结果如下图所示:
上图体现了分层下载的好处,Already exists 体现了 “共用” 的思想,也就是联合文件系统!!!
此时,查看本地的镜像:
docker rmi 删除镜像的操作
(1) 通过镜像的名称来进行删除
docker rmi 镜像的名称,如 docker rmi mysql:latest,删除过程如下图所示:
查看剩下的镜像:
(2) 通过镜像的 id 来进行删除操作
docker rmi 镜像的 id,如 docker rmi a70d36bc331a,删除过程如下图所示:
查看剩下的镜像:
(3) 过滤删除,将符合查询条件的镜像筛选出来,然后进行删除操作
docker rmi -f $(docker images -aq),其中 $ 后面的括号中的命令表示查询操作,也就是查询的结果,然后对查询的结果进行删除。那么,docker images -aq 中的 -aq 是 -a 和 -q 两个选项的合并写法,表示筛选出 “所有镜像的 id”,那么整个命令的意思就是根据查询出来的所有镜像的 id 来删除其对应的镜像!!!
再次查看镜像列表:
总结删除的命令:
(1) docker rmi 容器的名称 / id,删除一个容器;
(2) docker rmi 容器的名称 / id,......,容器的名称 / id,表示删除多个容器;
(3) docker rmi -f $(docker images -aq),表示删除所有容器。