天天看点

Docker 与 Kubernetes

本篇是第八部分“生态篇”的第一篇。在这个部分,我会为你介绍 Docker 生态中的相关项目,以及如何参与到 Docker 项目中,最后会聊聊 Docker 未来的走向,本篇,我为你介绍下 Docker 与 Kubernetes 相关的内容。

整个专栏我们基本都在聊 Docker 的核心原理及其应用,本篇,我们进入“生态篇”的学习,一起来看看在 Docker 生态中,还有哪些值得关注的技术。

使用 Docker 的优势和痛点

在聊其他技术之前,我们先来聊聊使用 Docker 带来了哪些优势以及有哪些痛点,以便于对它以及其他技术有更好的认识。

优势

Docker 为我们提供了比较好的隔离性,应用程序可以通过将运行时的依赖一同打入镜像进行交付。

在构建镜像时,你可以将整个应用的编译,打包环境全部封装在 Dockerfile 中,再利用多阶段构建的特性缩小镜像体积。交付的时候甚至可以从交付镜像转变为交付 Dockerfile。

应用程序运行时,由于容器中已经包含了应用所需的基本依赖,也可以排除掉绝大多数系统环境差异造成的影响。这就为我们带来了很好的可 移植性。从根本上杜绝了类似于“在我电脑上运行是正常的”这种问题。

对于 Docker 镜像而言,可以为其指定对应的 repo:tag,可以将这些信息与代码的版本控制相结合。这就带来了良好的 版本控制 能力。

此外,正如我在前面内容中花了很大部分介绍的,通过使用 Docker 可以为我们提供非常多样性的安全策略,为我们的应用保驾护航。这便是良好的安全性。

另一方