当前位置: 首页 > news >正文

云原生技能树-docker image 操作-练习篇

从Docker Hub 拉取已有镜像

一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务(Image Registry)里,默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像、将镜像上传到镜像仓库服务,从而可以在其他地方从镜像仓库服务里拉取镜像。

例如,从Docker Hub拉取 helloworld 镜像的命令:

docker image pull library/hello-world

以下从Docker Hub 拉取 ubuntu 镜像操作正确的是?

答案是:B
本地镜像是运行容器的前提,所以在运行容器前我们需要使用 docker image pull 命令从网络上的镜像仓库把镜像拉取到本地。该命令的格式为:
docker image pull [OPTIONS] NAME[:TAG|@DIGEST]
与镜像相关的操作都被定义在 docker image 子命令中,虽然不带 image 的格式依然被兼容,但带上 image 后会让命令更容易理解,也会有更好的自动补全效果。C属于旧命令格式,要学会答题。

列举所有镜像

一个镜像的名字也叫镜像的仓库名,英文是REPOSITORY,本地列举所有镜像的命令

docker image ls

操作截图如下,可以看到前一题拉取到的hello-world镜像:

以下对docker image ls输出结果描述错误的是?

答案是:B
REPOSITORY:表示镜像的仓库源

查看某个镜像的配置信息

一个镜像的配置信息可以通过下面的命令查看

docker image inspect hello-world

操作截图如下,可以看到镜像启动后会立刻执行的命令CMD:

请自己实际操作后回答问题:以下对docker image inspect输出结果描述错误的是?

答案是:B
题目中的截图不全,为了验证可以查看镜像的操作系统信息,我专门装了一个docker验证了下

移除镜像

通过命令docker image rm命令可以删除不用的镜像,例如先通过命令查看有哪些镜像。

docker image ls
如果镜像没有被启动过,直接之下下面的命令能删除成功:
docker image rm 09d01ed9156b
但是如果镜像被启动过,有可能出现错误信息:

红框的提示表示该镜像被启动过并且目前处于停止状态,我们可以通过docker ps命令查看被启动过的镜像状态

可以看到,其中

横向的红框是ID为09d01ed9156b的镜像启动后的container(参考下一节)的状态
纵向的红框是所有启动的container的当前状态,可以看到图里的都处于Exited的退出状态。

因此我们可以批量使用Linux命令批量删除

docker ps -a | grep “Exited” | awk ‘{print $1 }’|xargs docker rm

如图所示

以下说法错误的是?

答案是:D
题目中说了如果镜像被启动过,有可能出现错误信息,所以docker image rm不能删除已启动的镜像

查看所有的镜像操作命令

除了前面几题介绍的子命令,输入下面的命令回车

docker image

可以看到所有的docker image 操作命令

下面说法错误的是?

答案是:B
rm是删除无用docker镜像的,如果要批量删除,可以
docker ps -a | grep “Exited” | awk ‘{print $1 }’|xargs docker rm

相关文章:

  • hids Elastic Security 系列1-Elastic Security介绍
  • 2022 自杀式年度总结(已发老板)
  • [创业之路-46] :动态股权机制 -1- 七步法(流程)
  • Python 实现 JSON 解析器
  • 【数据结构】万字深入浅出讲解顺序表(附原码 | 超详解)
  • Allegro如何设计线圈操作指导
  • c程序gcc编译常见报错及解决方法整理
  • SSH (Secure Shell)
  • 《蓝桥杯》30天拿下Python算法设计与分析【Day 11】
  • PyTorch初学者指南:数据预处理
  • Ribbon策略改变实现步骤(基于Eureka服务注册中心)
  • LeetCode和牛客网二叉树经典例题合集