Docker基础操作命令演示

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)根据查看到的镜像名称,拉取自己需要的镜像,通过命令:

bash 复制代码
docker pull nginx

或者拉取带指定版本的,eg:。例如,docker pull zookeeper:3.7.1(拉取 zookeeper 的 3.7.1 版本镜像)

pull 命令中的 < tag > 也可以不写,此时默认的 < tag >为 latest

3)通过命令:

bash 复制代码
docker images

查看拉取到的镜像

其中:

标签 含义
REPOSITORY 镜像仓库名称
TAG 镜像版本号
IMAGE ID 镜像的唯一标识
CREATE 镜像的创建时间
SIZE 镜像大小

也可查看 指定镜像 ,命令:

shell 复制代码
docker images  [镜像名称]

也可查看完整镜像 ID,使用 --no-trunc 参数后显示的是完成的镜像 id 。命令:

shell 复制代码
docker images  [镜像名称] --no-trunc

也可查看镜像 digest ,--digests 选项可以查看所有镜像或指定镜像的 digest 信息。命令:

shell 复制代码
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命令用法,可以输入命令:

sh 复制代码
docker save --help

结果:

命令格式:

shell 复制代码
docker save -o [保存的目标文件名称] [镜像名称]

2)使用docker save导出镜像到磁盘

运行命令:

sh 复制代码
docker save -o nginx.tar nginx:latest

结果如图:

3)使用docker load加载镜像

先删除本地的nginx镜像:

sh 复制代码
docker rmi nginx:latest

然后运行命令,加载本地文件:

sh 复制代码
docker load -i nginx.tar

结果:

2.3 从 docker hub 上查看镜像

通过docker search 命令可以从 docker hub 上查看指定名称的镜像。

而通过docker images 命令可查看本地所有镜像资源信息。

1 ) 过滤 检索结果

例如:仅查询出官方提供的镜像

sh 复制代码
docker search [镜像名称] --filte is-official=true

2 ) 限制 检索数量

可通过 limit 选项来指定显示的结果数量。

sh 复制代码
docker search [镜像名称] --limit=5

2.4 删除镜像

rmi(remove images ),该命令用于删除指定的本地镜像。镜像通过 < repository>:< tag> 指定。如果省略要删除镜像的 tag ,默认删除的是 lastest 版本。

sh 复制代码
docker rmi [镜像名称]

1 ) 删除多个镜像

docker rmi 命令可一次性删除多个镜像,多个要删除的镜像间使用空格分隔。

2 ) 通过 ImageID 删除镜像

sh 复制代码
docker rmi [镜像ID]

3 ) 强制删除镜像

sh 复制代码
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

注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。而且创建容器的过程中,数据卷会自动创建

4、数据卷的相关命令演示操作

相关推荐
lang2015092813 分钟前
Apache Maven 项目的开发指南
java·maven·apache
众俗18 分钟前
Linux+Docker+SpringBoot 简单部署
linux·spring boot·docker
rengang6621 分钟前
134-Spring AI Alibaba OceanBase 向量数据库示例
java·人工智能·spring·oceanbase·rag·spring ai·ai应用编程
靠沿1 小时前
JavaSE知识分享——继承(下)
java·开发语言
Catfood_Eason1 小时前
CMPP3020作业2
java·开发语言
CryptoRzz1 小时前
印度实时股票数据源接口对接文档-IPO新股、k线数据
java·开发语言·数据库·区块链
宸津-代码粉碎机1 小时前
Java内部类内存泄露深度解析:原理、场景与根治方案(附GC引用链分析)
java·开发语言·jvm·人工智能·python
東雪木2 小时前
Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
java·jvm·学习
毕设源码-郭学长2 小时前
【开题答辩全过程】以 常二社区线上养老院管理系统为例,包含答辩的问题和答案
java·eclipse
九皇叔叔3 小时前
从零了解 Dockerfile:构建属于你的 Docker 镜像
运维·docker·容器