文章目录
- Docker的基本组成
- 镜像(image)
- 容器(container)
- 仓库(repository)
- 总结
- Docker的常用命令
- 帮助命令
- 镜像命令
- docker images
- docker search
- docker pull
- docker rmi
Docker的基本组成
镜像(image)
Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建多个容器。
docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
容器(container)
Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。
仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等。
总结
image 文件生成的容器实例,本身也是一个文件,称为镜像文件。
一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器。
至于仓储,就是放了一堆镜像的地方,我们可以把镜像发布到仓储中,需要的时候从仓储中拉下来就可以了。
Docker的常用命令
帮助命令
命令 | 说明 |
---|---|
docker version | 查看docker的版本信息 |
docker info | 查看docker详细的信息,包括镜像和容器数量 |
docker --help | docker的帮助命令,可以查看到相关的其他命令 |
docker version:
docker info:
docker --help:
帮助文档的地址:https://docs.docker.com/engine/reference/commandline/docker/
镜像命令
镜像命令 | 说明 |
---|---|
docker images | 查看本地主机上的镜像 |
docker search 镜像名称 | 从 docker hub 上搜索镜像 |
docker pull 镜像名称 | 从docker hub 上下载镜像 |
docker rmi 镜像名称 | 删除本地镜像 |
docker images
说明:
选项 | 说明 |
---|---|
REPOSITORY | 表示镜像的仓库源 |
TAG | 镜像的标签 |
IMAGE ID | 镜像ID |
CREATED | 镜像创建时间 |
SIZE | 镜像大小 |
参数 | 说明 |
---|---|
-a | 列出本地所有的镜像 |
-q | 只显示镜像ID |
–digests | 显示镜像的摘要信息 |
–no-trunc | 显示完整的镜像信息 |
docker search
docker hub是Docker的在线仓库,我们可以通过在线仓库直接搜索,也可以用docker search命令来搜索我们需要的镜像。
参数名称 | 描述 |
---|---|
–no-trunc | 显示完整的描述信息 |
–limit | 分页显示 |
-f | 过滤条件 docker search mysql -f STARS=3000 ,这个搜索出来就是STARS大于3000的 |
docker pull
从Docker hub 上下载镜像文件,我们可以通过docker pull 来下载镜像,然后等待下载完成即可。
# 下载镜像 docker pull 镜像名[:TAG]
[root@localhost ~]# docker pull mysql
Using default tag: latest #如果不写tag, 默认是latest
latest: Pulling from library/mysql
46ef68baacb7: Retrying in 1 second
94c1114b2e9c: Retrying in 1 second
ff05e3f38802: Retrying in 1 second
41cc3fcd9912: Waiting
07bbc8bdf52a: Waiting
6d88f83726a9: Waiting
cf5c7d5d33f7: Waiting
9db3175a2a66: Waiting
feaedeb27fa9: Waiting
cf91e7784414: Waiting
b1770db1c329: Waiting
latest: Pulling from library/mysql
46ef68baacb7: Pull complete # 分层下载,docker image的核心 联合文件系统
94c1114b2e9c: Pull complete
ff05e3f38802: Pull complete
41cc3fcd9912: Pull complete
07bbc8bdf52a: Pull complete
6d88f83726a9: Pull complete
cf5c7d5d33f7: Pull complete
9db3175a2a66: Pull complete
feaedeb27fa9: Pull complete
cf91e7784414: Pull complete
b1770db1c329: Pull complete
Digest: sha256:15f069202c46cf861ce429423ae3f8dfa6423306fbf399eaef36094ce30dd75c #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
# docker pull mysql 等价于 docker pull docker.io/library/mysql:latest
指定版本下载
使用 docker pull mysql:5.7 命令
docker rmi
删除方式 | 命令 |
---|---|
删除指定的镜像 | docker rmi -f 镜像ID |
删除多个镜像 | docker rmi -f 镜像ID 镜像ID 镜像ID |
删除全部镜像 | docker rmi -f $(docker images -aq) |