Docker镜像概念

前言

这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题

于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。

微信小程序搜索:Python面试宝典

或可关注原创个人博客:https://lienze.tech

也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习

docker-镜像概念

镜像,即创建容器的模版,含有启动容器所需要的文件系统及所需要的内容,因此镜像主要用于方便和快速的创建并启动容器

镜像含里面是一层层的文件系统,叫做 Union FS(联合文件系统),联合文件系统

可以将几层目录挂载到一起(就像千层饼,洋葱头,俄罗斯套娃一样)

形成一个虚拟文件系统,虚拟文件系统的目录结构就像普通linux的目录结构一样

镜像通过这些文件再加上宿主机的内核共同提供了一个linux的虚拟环境,每一层文件系统叫做一层layer


联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able)


镜像构建

构建镜像的时候,从一个最基本的操作系统开始,每个构建提交的操作都相当于做一层的修改,增加了一层文件系统,

一层层往上叠加,上层的修改会覆盖底层该位置的可见性

这也很容易理解,就像上层把底层遮住了一样

当使用镜像的时候,我们只会看到一个完全的整体,不知道里面有几层也不需要知道里面有几层

请添加图片描述


一个典型的 Linux文件系统由bootfs和rootfs两部分组成

  • bootfs

bootfs(boot file system) 主要包含bootloader和kernel

bootloader主要用于引导加载 kernel,当 kernel 被加载到内存中后bootfs会被umount 掉

  • rootfs

包含的就是典型 Linux 系统中的/dev,/proc,/bin,/etc 等标准目录和文件

下图就是镜像中最基础的两层结构,不同的 linux 发行版(如 ubuntu 和 CentOS ) 在 rootfs 这一层会有所区别


一般的镜像通常都比较小

官方提供的Ubuntu镜像只有60MB多点,而CentOS基础镜像也只有200MB左右,一些其他版本的镜像甚至只有几MB

比如:busybox 才1.22MB,alpine镜像也只有5M左右

镜像直接调用宿主机的内核,镜像中只提供rootfs,也就是只需要包括最基本的命令、工具和程序库就可以了

镜像搜索

  • 官方网站:http://hub.docker.com

  • 命令

docker search [OPTIONS] TERM
# OPTIONS
--automated :只列出 automated build类型的镜像
--no-trunc :显示完整的镜像描述
-s :列出收藏数不小于指定值的镜像

alpine镜像

Alpine 操作系统是一个面向安全的轻型 Linux 发行版

它不同于通常 Linux 发行版,Alpine 采用了musl libc和busybox以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐

在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk

Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制


目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境

这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等


  • 官网地址:官网:https://www.alpinelinux.org/
docker pull alpine

镜像加速

从国内下载官方的镜像站点有时候会很慢,因此可以更改docker配置文件添加一个加速器,可以通过加速器达到加速下载镜像的目的

国内有许多公司都提供了docker 加速镜像,比如:阿里云,腾讯云,网易云,以下以阿里云为例

浏览器打开:http://cr.console.aliyun.com,注册或登录阿里云账号,点击左侧的镜像加速器,将会得到一个专属的加速地址,而且下面有使用配置说明

参考地址:https://help.aliyun.com/document_detail/60750.html

  • 可以修改/etc/docker/daemon.json,添加清华大学的源
{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李恩泽的技术博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值