Docker学习笔记 - 第二篇:镜像及DockerFile编写

cc老师2020年高级架构师系统培训课程7月6号正式开课,现在618活动,限时折扣6800元独享。至少300学时录播课程,60小时直播课,内容包含最新架构体系,现主流的架构,以及即时更新最新的技术,从理论到实践,以及如何解决问题。面试常用的 Netty, Redis, Kafka,Zookeeper, Dubbo, Nginx + openResty + kong + Lua, ElasticSearch等技术都深入源码层级,轻松掌握这些技术,从容应对面试。对于有想跟我一样有着像提高自身技术的同学,课程的详情都在私塾的首页详细说明了,感兴趣的小伙伴,可以一起去 【***私塾在线*** 】 学习

1.Docker镜像

1.1 是什么

镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
Docker镜像是由一系列文件系统叠加而成:

  • 1:最底端是一个引导文件系统,也就是bootfs,当一个容器运行时,它将会装载到内存中,而引导文件系统将会被卸载
  • 2:第二层是root文件系统,即rootfs,它位于引导文件系统之上,rootfs通常是一种或多种操作系统,如Ubuntu文件系统
    (1)在linux引导过程中,root文件系统起初会只读装载,当引导结束并完成了完整性检查后,会被切换成读写模式
    (2)在Docker里面,root文件系统始终都是只读模式,并且利用联合加载技术,在root文件系统层上加载更多的只读文件系统
    联合加载:指的是一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录
    Docker将这样的文件系统称为镜像

1.2 关于Docker镜像

  • 1:Docker的镜像都是只读的
  • 2:镜像是分层的,一个镜像可以放到另一个镜像顶端,下层的镜像称为父镜像,最底部的镜像称为基础镜像。镜像不能超过127层,以从整体上优化镜像的大小。
  • 3:从一个镜像启动容器时,Docker会在该镜像顶层加载一个读写文件系统,我们在docker中运行的程序就是在这层执行的。
  • 4:当一个docker容器启动的时候,读写层初始是空的,当文件系统发生变化时,这些变化都会应用到这一层。
    比如:想要修改一个文件,这个文件会从下面的只读层复制到该读写层,该文件的只读版本仍然存在,但是被该文件在读写层中的可读写副本所隐藏。
    这种机制也就是写时复制,这是Docker如此强大的技术之一。
  • 5: Docker镜像的表示格式:
    Image Hub/namespace/image name :tag
    Image Hub:存放image的仓库地址,如果没有这个部分,表示缺省docker官方hub
    Namespace:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值