全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 680|回复: 8
打印 上一主题 下一主题

Docker 新手视频教程

[复制链接]
跳转到指定楼层
1#
发表于 2021-9-27 10:29:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sRGB 于 2021-9-27 11:16 编辑

Docker学习视频建立自定义镜像: commit 根据容器的更改创建新图像

https://space.bilibili.com/320303690/channel/detail?cid=201308




慎用 docker commit 命令虽然可以比较直观的帮助理解镜像分层存储的概念,但是实际环境中并不会这样使用。


此外,使用 docker commit 意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为 黑箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知。而且,即使是这个制作镜像的人,过一段时间后也无法记清具体在操作的。虽然 docker diff 或许可以告诉得到一些线索,但是远远不到可以确保生成一致镜像的地步。这种黑箱镜像的维护工作是非常痛苦的。

而且,镜像所使用的分层存储,除当前层外,之前的每一层都是不会发生改变的,换句话说,任何修改的结果仅仅是在当前层进行标记、添加、修改,而不会改动上一层。如果使用 docker commit 制作镜像,以及后期修改的话,每一次修改都会让镜像更加臃肿一次,所删除的上一层的东西并不会丢失,会一直如影随形的跟着这个镜像,即使根本无法访问到。这会让镜像更加臃肿。




虽然是黑箱操作,并不是说这个命令没用。
主要是你使用了别人共享的容器,微调一下修改一下

当作你写 Dockerfile  的调试 参考。。。

你设置好了一个容器,然后忘记挂载目录了,可以建立个镜像,建立新的容器  然后再挂载目录



最直观的应用场景,MJJ使用了别人的签到命令,修改成自己的LOGO,来个commit,建立自己镜像。
至于文件体积太大,层数太多,也很简单,使用多阶段构造,把整个镜像压缩到一层


FROM 引用镜像  AS builder
FROM scratch
COPY --from=builder  .  .
ADD  ./app  /app
WORKDIR  /app

推荐
发表于 2021-9-27 10:34:04 | 只看该作者
点开你最近发布的一个视频(20分钟之前发布的那个)看来一分钟,你那用的都是Docker官方几年前就废弃的命令。做这种视频不是坑人吗
4#
发表于 2021-9-27 10:38:06 | 只看该作者
不行,你这没声音,我硬不起来。

点评

禽兽  发表于 2021-9-27 10:42
5#
 楼主| 发表于 2021-9-27 11:09:10 | 只看该作者
DaShi 发表于 2021-9-27 10:34
点开你最近发布的一个视频(20分钟之前发布的那个)看来一分钟,你那用的都是Docker官方几年前就废弃的命令 ...

虽然是黑箱操作,并不是说这个命令没用。
主要是你使用了别人共享的容器,微调一下修改一下

当作你写 Dockerfile  的调试 参考。。。

你设置好了一个容器,然后忘记挂载目录了,可以建立个镜像,建立新的容器  然后再挂载目录
6#
发表于 2021-9-27 11:10:17 | 只看该作者
感谢楼主分享
7#
发表于 2021-9-27 15:26:19 来自手机 | 只看该作者
我只会用,不会建,哈哈
8#
 楼主| 发表于 2021-9-27 15:28:52 | 只看该作者
yy520 发表于 2021-9-27 15:26
我只会用,不会建,哈哈

自己去建镜像,才能深入了解点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-12 11:01 , Processed in 0.080363 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表