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

相关推荐
刘 大 望3 分钟前
网络编程--TCP/UDP Socket套接字
java·运维·服务器·网络·数据结构·java-ee·intellij-idea
没有bug.的程序员16 分钟前
AOT 编译与 GraalVM 实战:Java 云原生的终极进化
java·python·云原生·graalvm·aot
找不到、了31 分钟前
常用的分布式ID设计方案
java·分布式
野区捕龙为宠39 分钟前
Unity Netcode for GameObjects(多人联机小Demo)
java·unity·游戏引擎
十八旬1 小时前
苍穹外卖项目实战(日记十)-记录实战教程及问题的解决方法-(day3-2)新增菜品功能完整版
java·开发语言·spring boot·mysql·idea·苍穹外卖
鞋尖的灰尘1 小时前
springboot-事务
java·后端
银迢迢1 小时前
SpringCloud微服务技术自用笔记
java·spring cloud·微服务·gateway·sentinel
用户0332126663672 小时前
Java 将 CSV 转换为 Excel:告别繁琐,拥抱高效数据处理
java·excel
这周也會开心2 小时前
Java-多态
java·开发语言
渣哥2 小时前
揭秘!Java反射机制到底是什么?原来应用场景这么广!
java