• Docker基础操作命令演示


    Docker中的常见命令,可以参考官方文档:https://docs.docker.com/engine/reference/commandline/cli/

    1、常见命令介绍

    其中,比较常见的命令有:

    命令说明文档地址
    docker pull拉取镜像docker pull
    docker push推送镜像到DockerRegistrydocker 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
    
    • 1

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

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

    在这里插入图片描述

    3)通过命令:

    docker images
    
    • 1

    查看拉取到的镜像

    在这里插入图片描述其中:

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

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

    docker images  [镜像名称]
    
    • 1

    在这里插入图片描述
    也可查看完整镜像 ID,使用 --no-trunc 参数后显示的是完成的镜像 id 。命令:

    docker images  [镜像名称] --no-trunc
    
    • 1

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

    docker images  [镜像名称] --digests
    
    • 1

    也可仅显示镜像 ID,-q 选项可仅显示本地所有镜像的 ImageID 。

    在这里插入图片描述

    4)简化日志:加上选项 -q 后就可简化拉取过程中的日志输出

    在这里插入图片描述

    5)通过 digest 拉取
    docker pull可通过镜像的 digest 进行拉取。语法格式为 docker pull < repository>@

    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
    
    • 1

    结果:
    在这里插入图片描述

    命令格式:

    docker save -o [保存的目标文件名称] [镜像名称]
    
    • 1

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

    运行命令:

    docker save -o nginx.tar nginx:latest
    
    • 1

    结果如图:

    在这里插入图片描述

    3)使用docker load加载镜像

    先删除本地的nginx镜像:

    docker rmi nginx:latest
    
    • 1

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

    docker load -i nginx.tar
    
    • 1

    结果:

    在这里插入图片描述

    2.3 从 docker hub 上查看镜像

    通过docker search 命令可以从 docker hub 上查看指定名称的镜像。
    而通过docker images 命令可查看本地所有镜像资源信息。
    在这里插入图片描述

    1 ) 过滤 检索结果
    例如:仅查询出官方提供的镜像

    docker search [镜像名称] --filte is-official=true
    
    • 1

    在这里插入图片描述

    2 ) 限制 检索数量
    可通过 limit 选项来指定显示的结果数量。

    docker search [镜像名称] --limit=5
    
    • 1

    在这里插入图片描述

    2.4 删除镜像

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

    docker rmi [镜像名称]
    
    • 1

    在这里插入图片描述
    1 ) 删除多个镜像
    docker rmi 命令可一次性删除多个镜像,多个要删除的镜像间使用空格分隔。
    在这里插入图片描述

    2 ) 通过 ImageID 删除镜像

    docker rmi [镜像ID]
    
    • 1

    在这里插入图片描述

    3 ) 强制删除镜像

    docker rmi -f [镜像名称]
    
    • 1

    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、数据卷的相关命令演示操作

  • 相关阅读:
    LDA代码训练报错记录
    JVM-内存模型 面试总结
    UE4 回合游戏项目 10- 添加怪物死亡动画
    合宙ESP32C3 的Arduino开发教程环境配置
    Qt OpenMP使用
    【【c语言康复训练-1】】
    scheduledThreadPool
    【LeetCode】Day187-分割回文串
    数据结构与算法(Java)--栈和递归
    云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
  • 原文地址:https://blog.csdn.net/qq_47949604/article/details/133841786