Docker中的常见命令,可以参考官方文档:https://docs.docker.com/engine/reference/commandline/cli/
1、常见命令介绍
其中,比较常见的命令有:
命令 | 说明 | 文档地址 |
---|---|---|
docker pull | 拉取镜像 | docker pull |
docker push | 推送镜像到DockerRegistry | docker push |
docker images | 查看本地镜像 | docker images |
docker rmi | 删除本地镜像 | docker rmi |
docker run | 创建并运行容器(不能重复创建) | docker run |
docker stop | 停止指定容器 | docker stop |
docker start | 启动指定容器 | docker start |
docker restart | 重新启动容器 | docker restart |
docker rm | 删除指定容器 | docs.docker.com |
docker ps | 查看容器 | docker ps |
docker logs | 查看容器运行日志 | docker logs |
docker exec | 进入容器 | docker exec |
docker save | 保存镜像到本地压缩文件 | docker save |
docker load | 加载本地压缩文件到镜像 | docker load |
docker inspect | 查看容器详细信息 | docker inspect |
2、常见命令演示操作
2.1 拉取、查看镜像
需求:从DockerHub中拉取一个nginx镜像并查看
1)首先去镜像仓库搜索nginx镜像,比如 DockerHub:
2)根据查看到的镜像名称,拉取自己需要的镜像,通过命令:
docker pull nginx
或者拉取带指定版本的,eg:。例如,docker pull zookeeper:3.7.1
(拉取 zookeeper 的 3.7.1 版本镜像)
pull 命令中的 < tag > 也可以不写,此时默认的 < tag >为 latest 。
3)通过命令:
docker images
查看拉取到的镜像
其中:
标签 | 含义 |
---|---|
REPOSITORY | 镜像仓库名称 |
TAG | 镜像版本号 |
IMAGE ID | 镜像的唯一标识 |
CREATE | 镜像的创建时间 |
SIZE | 镜像大小 |
也可查看 指定镜像
,命令:
docker images [镜像名称]
也可查看完整镜像 ID
,使用 --no-trunc 参数后显示的是完成的镜像 id 。命令:
docker images [镜像名称] --no-trunc
也可查看镜像 digest
,–digests 选项可以查看所有镜像或指定镜像的 digest 信息。命令:
docker images [镜像名称] --digests
也可仅显示镜像 ID
,-q 选项可仅显示本地所有镜像的 ImageID 。
4)简化日志:加上选项 -q
后就可简化拉取过程中的日志输出
5)通过 digest
拉取
docker pull可通过镜像的 digest 进行拉取。语法格式为 docker pull < repository>@<digest>
digest,是镜像内容的一个 Hash 值,即所谓的 Content Hash (内容散列)。只要镜像内容发生了变更,其内容散列值就一定会发生改变。注意, digest 是包含前面的 sha256 的,表示该 digest 的产生所采用的 Hash 算法是 SHA256
6 ) 过滤镜像
-f
选项用于过滤指定条件的镜像。下面例举一些常用的过滤条件。
dangling=true
用于过滤出悬虚镜像,即没有 Repository 与 Tag 的镜像。对于悬虚镜像的REPOSITORY 与 TAG ,显示的是 < none>
-f before
用于列举出本地镜像中指定镜像创建时间之前创建的所有镜像。
-f since
用于列举出本地镜像中指定镜像创建时间之后的创建的所有镜像。
-f reference
用于列举出 < repository>:< tag> 与指定表达式相匹配的所有镜像。
7 ) 格式化显示
该选项用于格式化输出docker images 的内容,格式需要使用 GO 模板指定。
2.2 保存、导入镜像
需求:利用docker save将nginx镜像导出磁盘,然后再通过load加载回来
1)利用docker xx --help命令查看docker save和docker load的语法
例如,查看save命令用法,可以输入命令:
docker save --help
结果:
命令格式:
docker save -o [保存的目标文件名称] [镜像名称]
2)使用docker save导出镜像到磁盘
运行命令:
docker save -o nginx.tar nginx:latest
结果如图:
3)使用docker load加载镜像
先删除本地的nginx镜像:
docker rmi nginx:latest
然后运行命令,加载本地文件:
docker load -i nginx.tar
结果:
2.3 从 docker hub 上查看镜像
通过docker search 命令可以从 docker hub 上查看指定名称的镜像。
而通过docker images 命令可查看本地所有镜像资源信息。
1 ) 过滤
检索结果
例如:仅查询出官方提供的镜像
docker search [镜像名称] --filte is-official=true
2 ) 限制
检索数量
可通过 limit 选项来指定显示的结果数量。
docker search [镜像名称] --limit=5
2.4 删除镜像
rmi(remove images ),该命令用于删除指定的本地镜像。镜像通过 < repository>:< tag> 指定。如果省略要删除镜像的 tag ,默认删除的是 lastest 版本。
docker rmi [镜像名称]
1 ) 删除多个
镜像
docker rmi 命令可一次性删除多个镜像,多个要删除的镜像间使用空格分隔。
2 ) 通过 ImageID
删除镜像
docker rmi [镜像ID]
3 ) 强制
删除镜像
docker rmi -f [镜像名称]
4 ) 删除所有
镜像
使用组合命令删除所有镜像。当然,如果不携带-f 选项,则不会删除已打开容器的镜像。
3、数据卷的相关命令
数据卷的相关命令有:
命令 | 说明 | 文档地址 |
---|---|---|
docker volume create | 创建数据卷 | docker volume create |
docker volume ls | 查看所有数据卷 | docs.docker.com |
docker volume rm | 删除指定数据卷 | docs.docker.com |
docker volume inspect | 查看某个数据卷的详情 | docs.docker.com |
docker volume prune | 清除数据卷 | docker volume prune |
注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。而且创建容器的过程中,数据卷会自动创建。