涨薪技术|Docker容器技术之镜像(image)

前面的推文我们初步了解了Docker容器的一些知识,今天开始给大家分享更详细的一系列关于Docker容器技术,欢迎关注。Docker不管是程序员,架构师或者测试工程师都必须要掌握的一门主流技术,如果需要领取同步资料可以文末联系老师。

01认识docker镜像

Docker镜像是由文件系统叠加而成,最低端是一个引导文件系统,即bootfs,这个很像Linux/Unix的引导文件系统,Docker用户几乎永远不和引导文件系统有交互。Docker看起来很像一个Linux虚拟化栈,Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上,rootfs可以是一种或多种操作系统。

在传统的Linux引导过程中,root文件系统会先以只读的方式加载,当引导结束并完成完整性检查后,它才会被切换成读写模式,但是在Docker中,root文件系统永远只能是只读状态,并且Docker利用联合加载(union mount)技术会在root文件系统层上加载更多的只读文件系统,联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。

Docker将这样的文件系统称为镜像,一个镜像可以放到另一个镜像的顶部,位于下面的镜像称之为父镜像(parent image),可以依次类推,直到镜像栈的最底部,最底部的镜像称之为基础镜像(base image)。最后当从一个镜像启支容器时,Docker会在该镜像的最顶层加载一个读写文件系统。

图片

02拉取镜像

镜像是运行容器的前提, 官方的Docker Hub 网站已经提供了数十万个镜像供大家开放下载。

本节主要介绍docker 镜像的pull 子命令;

可以使用docker [image] pull 命令直接从Docker Hub 镜像源来下载镜像。

该命令的格式为:

docker [image] pull NAME [ :TAG]

NAME 是镜像仓库名称(用来区分镜像), TAG 是镜像的标签(往往用来表示版本信息) 。通常情况下, 描述一个镜像需要包括“名称+标签“ 信息。如果在下载镜像时没有标示版本,那么下载下来的将是最新版本,标签为latest。

[root@localhost ~]# docker pull httpdlatest: Pulling from httpd //表示下载最新版的httpd镜像e41adbd1cb5b: Pull complete14d0dfd633f4: Pull complete505c936535a7: Pull complete427c82bd70cd: Pull completeDigest: sha256:3884dc098e89d69066965a2084884f47fed0be76461b5c6c96559b1328298e31Status: Downloaded newer image for httpd:latest

下载过程中可以看出,镜像文件一般由若干层(layer)组成,427c82bd70cd这样的串是层的唯一id(实际上完整的id包括256比特,64个十六进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川石课堂软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值