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

相关推荐
极限实验室5 分钟前
使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
数据库·docker·devops
秋千码途7 分钟前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇9 分钟前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
时来天地皆同力.29 分钟前
Java面试基础:概念
java·开发语言·jvm
找不到、了1 小时前
Spring的Bean原型模式下的使用
java·spring·原型模式
阿华的代码王国1 小时前
【Android】搭配安卓环境及设备连接
android·java
YuTaoShao1 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表
牧天白衣.2 小时前
Docker相关内容
docker·容器·eureka
铲子Zzz2 小时前
Java使用接口AES进行加密+微信小程序接收解密
java·开发语言·微信小程序
一切顺势而行2 小时前
k8s 使用docker 安装教程
docker·容器·kubernetes