容器 10 年,Docker 6 年
当 Kubernetes 使用 Docker 作为容器运行时,用来启动应用;当 Docker 容器规模变大时,自然是需要有容器编排工具进行管理的。
In fact, Kubernetes is better with Docker. And Docker is better with Kubernetes.
无论在使用 Docker 或是 Kubernetes 亦或者是使用基于这些技术的其他衍生技术时,都有可能会遇到一些意料之外的情况,当问题发生时,我们总是希望可以快速定位问题,并且从根本上解决问题。
一般情况下,上层的问题比较容易解决,但如果问题发生在运行时 Docker 或容器上时,如果没有系统性的知识,很难从根本上解决问题。
容器是什么
说白了,容器其实是在某台机器上的“一组”进程,当然这组进程可能只有一个;它们有相同的特性,当然所受的限制也是相同的;既然叫做容器,很自然的我们认为它们与外界可以进行隔离 / 应该有一个分界线。
Docker 的优势
Docker 一开始能吸引众多用户,其中一个很重要的因素就在于它上手使用很简单。在安装完 Docker 之后,一行命令语句 docker run hello-world 便已经运行了一个容器,一切看着都及其简单。
2008 年到 2013 年这之间大约 5 年左右的时间,以 LXC 为首的容器技术并没有得到类似 Docker 出现后那么广泛的普及,我在之前的线下演讲中也提到过这个点,最主要的原因在于 LXC 太偏向技术了,使用 LXC 有一定的门槛,导致了好多人的退却。
使用 Docker 面临的问题
在实际的生产使用中,我们所运行的容器包含着业务代码,生产环境的网络、系统等因素也都很复杂。一旦出现问题,如何才能最高效地定位并解决问题,并且保证之后不再有类似的问题发生?
要做到这些,就需要对 Docker 技术有足够的了解。在大型公司中,都有专职负责基础支撑技术的开发或运维人员,而在中小型企业可能就很少有这类团队或者压根没有,需要开发人员自行解决。
- 构建的镜像体积为什么这么大
- Pull 镜像为什么这么慢
- 新构建的镜像为什么不生效
- 构建镜像为什么这么久
现在很多岗位的招聘需求上都有写需要了解或者掌握 Docker,或者将掌握 Docker 等容器技术作为加分项目,并且这个要求不局限于运维或者后端开发等岗位。
扫码查看《Docker 核心知识必知必会》
▼
专栏介绍
第三篇,是很多读者或公司都常会困惑的问题,Docker 与 Linux 内核兼容性如何,要上生产环境该选择哪个版本?我会在这一篇中与你分享,让你不再困惑。
- 在容器篇,我会先给你介绍容器生命周期管理相关的内容,那你对容器的使用有个基本认识;之后会对容器资源进行管理;并对容器的核心进行深入剖析;最后动手来自己写容器。
- 在镜像篇,将介绍镜像完整的生命周期管理;镜像是如何构建与分发的;如何使用 Dockerfile 进行镜像构建;并介绍 Docker 的下一代构建系统是如何提速近 10 倍的;接下来结合我的实际镜像为你介绍 Dockerfile 的优化和最佳实践;最后分别深入源码为你介绍镜像构建、分发的原理,以及认证流程和原理。
- 在 CI/CD 篇,会介绍如何将 Docker 与 CI/CD 结合,同时介绍适用于生产环境使用的 CI/CD pipeline,希望能为读者建设 CI/CD 提供一些启发。
- 架构篇中我会结合源码介绍 Docker 的核心架构,以及其是如何协作的;Docker 提供了一种可扩展的 Plugin 机制,在特定场景下使用 Plugin 扩展 Docker 也是一种不错的选择;接下来会结合实际经验介绍容器监控和日志方面的具体实践方案,希望能为读者在实际使用中提供一个参考;最后会与读者分享我所总结的 Docker 相关问题的定位及调试手段 正确的方法能让你排查问题的效率翻倍。
- 存储篇主要介绍 Docker 中 volume 的使用;以及如何进行数据备份和恢复;最后会深入内部介绍现在 Docker 最推荐的 Overlay2 存储驱动的工作原理。
- 安全篇会涉及镜像和容器运行时的安全;以及会涉及一些的 Linux 内核安全相关的知识,详细介绍如何利用 Linux 内核的安全模块为 Docker 保驾护航。
网络篇除了介绍基础网络知识外,还会介绍如何定制 bridge 网络;iptables 始终是一个很核心的知识点,我会为读者将 Docker 与 iptables 梳理清楚,以及如何自定义的进行网络管理;最后详细介绍了 docker-proxy,Docker 内部 DNS 以及 Docker 的核心网络知识,让网络不再成为一个拦路虎。
在这个模块中,我将详细介绍 Docker 与 Kubernetes 间的联系,以及容器生态中的其他组件;与读者分享如何参与到 Docker 容器生态内,当然这里也会涉及到 Docker 现在的代码组织相关的内容;最后将与读者探讨 Docker 生态未来的走向。
对应的知识图谱如下:
张晋涛:网易有道资深运维开发
内容亮点
6 个维度系统性解读 Docker 核心功能
实践与源码相结合
深入 Linux 内核,剖析容器所需关键技术
生产环境 Docker 的使用和填坑经验总结
适宜人群
容器运维或开发工程师
准备使用或正在使用 Docker 的前后端工程师
准备面试容器相关技术岗位的应试者或面试官
调研 Kubernetes 等云原生技术的工程师
容器 10 年,Docker 6 年相关推荐
- 第 10 章 容器监控 - 078 - Docker 最常用的监控方案
Docker 最常用的监控方案 当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要. Docker 自带的几个监控子命令: ps .top .stats 功能更 ...
- 基于国产UOS操作系统第10章-docker容器
容器 容器技术已经成为应用程序分装和交付的核心技术 容器技术内核组成(Cgroups-资源管理 NameSpace-进程隔离) 由于是在物理机器上实施隔离.启动一个容器.可以像启动一个进程一样快速 d ...
- Docker容器虚拟化技术---Docker高级实战(DockerFile)2
Docker容器虚拟化技术-Docker高级实战(DockerFile) DockerFile是一个文本格式的配置文件,用户可以使用DockerFile来快速创建自定义的镜像. 1. DockerFi ...
- Docker容器虚拟化技术---Docker安装和操作1
一.Docker安装 Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu.Debian.CentOS.Redhat等).MacOS操作系统和 Windows操作 ...
- 一篇文章搞懂最流行的容器化技术Docker
说在前面的话 本篇文章什么样的人适合看? 刚入门学习docker的,看完对docker会有一个通篇的认识 有经验的人,在知识大爆炸时代,技术很多,没有人能记住所有东西,适合复盘的时候看 我想说的话:这 ...
- 容器化技术Docker由入门到实战
目录 对docker的理解 能做什么 传统虚拟机 容器虚拟化技术 Docker 和传统虚拟化方式的不同之处 Docker的安装 前置环境 Vagrant虚拟机环境 编辑使用Vgrant安装虚拟机 虚 ...
- 后端技术杂谈10:Docker 核心技术与实现原理
Docker 核心技术与实现原理 30 NOV 2017 docker namespaces cgroups unionfs aufs server Namespaces 进程 网络 挂载 ...
- 应用容器引擎:docker的简介与安装
目录 Docker概述: Docker和传统虚拟化技术的对比 部署Docker的开发环境 Docker常用命令 Docker的优点: 持续部署与测试 多云平台 环境标准化和版本控制 隔离性 安全性 结 ...
- 容器技术(Docker)
容器技术(Docker) 容器技术的核心就是通过对资源的限制和隔离把进程运行在一个沙盒中.并且这个沙盒可以被打包成容器镜像(Image),移植到另一台机器上可以直接运行,不需要任何的多余配置.其中do ...
最新文章
- 20145307《信息安全系统设计基础》课程总结
- python pygame模块按键延迟_pygame模块中键控命令不能实现方块移动,求解
- qemu 安装windows_BIOS+MBR启动引导安装双系统
- 前端学习(512):两列布局的第一种方式的优缺点
- python提取网页中p标签中的内容_使用Python进行爬虫的初学者指南
- C++ 拷贝构造 与 赋值运算符重载
- php 判断百度浏览器版本,jquery获取浏览器类型和版本号的方法
- mybatis之OGNL表达式
- 不用U盘,给自己的电脑重装一个win10系统
- pmp各种比较容易混淆的图
- 未来计算机的图片大全集,小学生未来的机器人儿童画图片大全
- CGMM 基于上下文的马尔可夫模型
- 知识融合中几种计算文本相似度的方法(代码)
- 怎么修复SONY索尼相机摄像机断电死机损坏的MP4视频文件
- 卡特兰数Catalan number的应用
- vue2 视频下载本地,图片压缩包下载
- 芯片验证学perl还是python_科学网—用python或perl语言简单验证RSA算法 - 康建的博文...
- scrapy简单入门 - 爬取伯乐在线所有文章
- FBX格式转换为GLTF/GLB格式
- 京东上货助手批量抓取淘宝商品步骤
热门文章
- UIImagePickerController PAD /IPHONE 上注意事项
- 杭电 1021 找规律
- Fuel 9.0安装Openstack网络验证失败解决
- 利用VB.NET绘制简易表白小程序
- 全国高校计算机能力挑战赛真题(二)
- position: relative_设置relative 后再设置定位 原有位置空白
- 力扣—— 51. N 皇后
- 计算机控制系统的实时控制应用,计算机控制系统实时性的提高策略
- 存储过程、游标和触发器
- Ubuntu安装GoogleTest框架并测试C++代码