Products
GG网络技术分享 2026-01-21 12:35 1
哎哟喂,各位亲爱的技术宅们,大家好啊!今天咱们不整那些虚头巴脑的理论堆砌, 咱们就来聊聊那个让你又爱又恨、经常半夜起来查报错的 Docker 镜像!说实话,真的了解 Docker 镜像的深层奥秘吗?我打赌hen多人也就是知道个 docker run 就完事了。dan是!一旦你稍微往深处钻一点点,你会发现这里面简直就是一个巨大的迷宫啊,与君共勉。!
复盘一下。 先说说我们要搞清楚一个事儿,那就是 docker create 命令为指定的镜像添加了一个可读写层,构成了一个新的容器.这篇文章希望Neng够帮助读者深入理解Docker的命令,还有容器和镜像之间的区别,并深入探讨容器和运行中的容器之间的区别.为了将零星的数据整合起来,我们提出了镜像层这个概念. 听听!这段话多么的经典又多么的拗口!其实说白了就是一层一层套娃嘛!你想想kan,洋葱剥开是一层一层的千层饼也是一层一层的,我们的 Docker 镜像居然也是这么个鬼样子!

docker create 命令为指定的镜像添加了一个可读写层,构成了一个新的容器.10张图带你深入理解Docker容器和镜像.为了将零星的数据整合起来,我们提出了镜像层这个概念. 这种层层叠加的设计简直绝了 既节省空间又Neng复用,简直就是天才想出来的主意。同样的道理相同的内核也可yi对应不同的发行版,docker的镜像就是利用了这个技术.这里需要说明一个概念,传统虚拟机上面安装的镜像包含两个...,功力不足。
suo以呢, 当你kan到那个几百兆甚至几个 G 的镜像是下载下来了千万别以为它就是一个单文件哦!它可是无数个小碎片拼凑起来的乐高积木!这种 UnionFS真的太神奇了神奇到我有时候dou觉得是不是魔法。
这就触及到了灵魂深处的拷问了!我们在容器里跑着跑着,数据去哪了?是不是删了容器数据就没了?哎呀妈呀,想想dou可怕。/var/lib/docker/image/overlay2:存储镜像管理数据的目录.为了将零星的数据整合起来,我们提出了镜像层这个概念,下面这张图描述了一个镜像层,tong过图片,我们Neng够发现一个层并不仅仅包含文件的改变,他还包含其他重要的信息.
上面的命令会将/data挂载到容器中,并绕过联合文件系统,我们可yi在主机上直接操作该目录.ren何在该镜像/data路径的文件的文件dou会被复制到Volume.我们可yi使用docker inspect命令找到Volume在主机 极度舒适。 上的存储位置:.深入理解Docker Volume 想要了解Docker Volume,先说说我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统叠加而成.当我们启动一个容器的时候,Docker会加...
kan到这里是不是有点晕?别急别急,我也晕。不过 Volume 这东西真的是救命稻草啊!要是没有它,咱们的数据库岂不是每次重启dou要跑路?那还怎么玩儿?Volume 就像是给脆弱的容器穿上了一层钢铁侠的战衣,把数据死死地护在主机的某个角落里。
| 存储驱动类型 | 性Neng特点 | 稳定性评价 | 适用场景推荐 |
|---|---|---|---|
| AUFS | 启动速度快,但内存占用稍高 | fei常稳定 | 适合不想折腾内核的开发环境 |
| Overlay2 | 性Neng极佳 inode 消耗少 | Docker 默认首选极其稳当 | 生产环境首选!强烈推荐! |
| Btrfs / ZFS | 功Neng丰富但有点重口吃资源 | 一般般有时候会有小坑 | 适合那些高级玩家搞实验用 |
| VFS | 慢得要死就像老牛拉破车 | 极度稳定但毫无用处主要原因是太慢了 | 除非你没别的办法否则别碰它 |
Docker 镜像、 容器、仓库的基本概念.注:Docker 仓库的概念跟 Git 类似,注册服务器可yi理解为 GitHub 这样的托管服务.,礼貌吗?
dive into docker! 咱们继续深挖。既然知道了数据怎么存,那咱们得kankan这玩意儿是怎么造出来的吧? 请大家务必... 毕竟光会用不会造那只是个调包侠嘛!。
他破防了。 dive into docker! hen多时候我们dou在抱怨:“卧槽这个镜像是怎么Zuo到这么小的?” huo者 “天哪为什么我的打个包就好几个 G?” 其实这dou是 Dockerfile 惹的祸啊!dive into docker!
不错。 dive into docker!dive into docker!dive into docker!
选基础镜像是门玄学吧真的。有的人非要用 Ubuntu 觉得亲切有的人非要用 Alpine 觉得轻 切记... 便还有的人硬是要用 CentOS ran后发现连个 ifconfig dou没有装半天心态崩了。
BUT!你知道吗?有时候选错了基础镜像是致命的比如 Alpine 用的是 musl libc 而 Ubuntu 用的是 glibc 如guo你某些依赖库非要 glibc 你在 Alpine 上跑起来会报错报到你怀疑人生那种感觉真的太酸爽了。
| 操作系统名称 | 大概体积 | 包管理工具体验感 | 新手踩坑指数 | 一句话点评 |
|---|---|---|---|---|
| Alpine Linux | ~5 MB | ★★★☆☆ | ★★★★★ | 极致追求体积的首选但要Zuo好修 Bug 的准备。 |
| Debian | ~50 - 70 MB | ★★★★★ | ★★☆☆☆ | 平衡之王开发测试dou够用Zui推荐的一个。 |
| Ubuntu / CentOS | ~100 - 200 MB | ★★★★☆ | ★☆☆☆☆ | |
| 哎呀刚才表格乱了大家凑合kan哈反正意思到了就行就是 Ubuntu hen大hen笨重dan是好用大家dou懂对吧?哈哈。 | ||||
| Fedora / etc. | ~150 MB+ | ★★★☆☆ | ★★★☆☆ | 比较前卫适合尝鲜不适合生产环境求稳党。 |
| 产品名称 / 软件名 | 开源还是商业版? | UI 界面颜值评分 | 功Neng丰富度扫描漏洞啥的有没? | 部署难度系数 | 综合性价比吐槽点评: | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Docker Registry | : 开源免费 :) | : 0 分 :(: 只有丑陋的 API 界面: | : 极其简陋几乎为零 :(: 只Neng存不Neng管: | : ★★★★★ :(: 只要会 docker run 就行: | : 极简主义者的Zui爱但也太简陋了吧连个搜索框dou没有差评!:):):):) | ||||||||||||||||||
| VMware Harbor 企业版/开源版: | : dou有 :): 开源版够用了: | : 8 分 :(: 界面还挺现代化的: | : ★★★★★ :(: 扫描权限管理日志全dou有: | : ★★★☆☆ :(: 要配数据库稍微麻烦点: | : 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :||||||||||||||||||
| : 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :: 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :: 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :: 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :: 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :: 国产之光功Neng强大企业必备如guo你公司有钱一定要买企业版支持国产!:):):) | :||||||||||||||||||
| 功Neng无敌就是有点重适合大厂中小企业其实用 Nexus 也挺好用的反正kan个人喜好吧啦吧啦啦~ | .|||||||||||||||||||||||
| Nexus3 OSS: | .Sonatype 出品必属精品开源免费: | .7分 hen复古的风格: | .支持各种仓库Maven npm pypi docker 一站式: | .★★★☆☆ 配置 XML 头疼: | .Java 党的Zui爱如guo你本来就用 Nexus 存 JAR 包那直接用它存 Docker Zui方便不用多起一个服务省资源!: | .||||||||||||||||||
Holy cow 刚才那个表格写得我手dou抖了简直是灾难现场不过没关系只要大家kan懂了 Harbor 和 Registry 还有 Nexus 的区别就行了对不对? 开搞。 反正记住一点:个人玩玩 Registry 足够了公司搞生产环境上 Harbor huo者 Nexus 准没错千万别自己瞎造轮子到时候丢了数据哭dou没地儿哭去。
. Docker 镜像是只读的你改不了它除非你 commit 一个新的出来:.. Docker 容器是在只读层上加了个可读写层:.. .. .. .. .. .,别犹豫...
Demand feedback