Go 进阶 · 分布式爬虫实战
郑建勋
Go 语言技术专家,《Go 语言底层原理剖析》作者
15839 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 58 讲
Go 进阶 · 分布式爬虫实战
15
15
1.0x
00:00/00:00
登录|注册

50|不可阻挡的容器化:Docker核心技术与原理

你好,我是郑建勋。
这节课,我们来看看容器化技术,并利用 Docker 将我们的程序打包为容器。

不可阻挡的容器化

大多数应用程序都是在服务器上运行的。过去,我们只能在一台服务器上运行一个应用程序,这带来了巨大的资源浪费,因为机器的资源通常不能被充分地利用。同时,由于程序依赖的资源很多,部署和迁移通常都比较困难。
解决这一问题的一种方法是使用虚拟机技术(VM,Virtual Machine)。虚拟机是对物理硬件的抽象。协调程序的 Hypervisor 允许多个虚拟机在一台机器上运行。但是,每个 VM 都包含操作系统、应用程序、必要的二进制文件和库的完整副本,这可能占用数十 GB。此外,每个操作系统还会额外消耗 CPU、RAM 和其他资源。VM 的启动也比较缓慢,难以进行灵活的迁移。
为了应对虚拟机带来的问题,容器化技术应运而生了。容器不需要单独的操作系统,它是应用层的抽象,它将代码和依赖项打包在了一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核。
容器可以共享主机的操作系统,比 VM 占用的空间更少。这减少了维护资源和操作系统的成本。同时,容器可以快速迁移,便于配置,将容器从本地迁移到云端是轻而易举的事情。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Docker网络通信的原理及其在Linux系统中的实现方式是本文的重点内容。文章首先介绍了Docker网络模型的设计规范,以及容器网络隔离的实现原理。接着详细解释了Docker的网络子系统和不同的网络驱动程序,以及如何让容器之间进行通信。文章还介绍了Docker在Linux系统中创建虚拟接口和使用bridge技术实现容器与容器、容器与宿主机之间的隔离与网络通信。最后,文章提出了一个思考题,邀请读者思考Docker和Kubernetes之间的关系。 总的来说,本文通过介绍Docker网络通信的原理和实现方式,帮助读者了解了容器化技术在网络通信方面的工作原理和应用场景。读者可以从中了解到Docker在容器网络隔离和通信方面的优势,以及在Linux系统中的具体实现方式。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 进阶 · 分布式爬虫实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • Geek_b11a14
    docker部署的go项目后,容器内生成的日志文件如何同步宿主机。目前添加docker run -v参数后启动容器异常

    作者回复: docker logs 可以查看日志

    2023-02-08归属地:广东
    1
  • Realm
    思考题:docker是k8s的调度对象.
    2023-02-07归属地:浙江
    1
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部