云原生技能树-docker image 操作-练习篇
创始人
2024-05-14 04:30:54

从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

相关内容

热门资讯

猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...