如果您是一名开发人员,我相信您一定听说过这句话:“它可以在我的机器上运行”。当我们的代码在您的计算机上运行但在朋友的计算机上表现不佳时,这是令人心碎的。
造成这种情况的原因有很多。
这可能是由于包错误而发生的,例如当您使用不同版本的包而您的朋友使用旧版本时,因此您的朋友无法访问某个功能。
或者可能是由于操作系统而发生的。就像您有MacOS,但您的朋友有Windows 操作系统,并且您正在使用的库或包可能不存在于您朋友的操作系统上。等等等等等等!!
why-docker为什么选择 Docker?
让我给你一些 docker 试图解决的实际例子。这肯定会让你大吃一惊。
development发展
安装 Postgres、MongoDB、Node.js,运行多个脚本等。哦,等等,你在macOS上吗?另外,更改这些配置。听起来很熟悉,呐。是的,这些是设置开发环境所涉及的步骤。
如果我告诉你一步就能完成怎么办?是的,您需要运行该docker compose up命令。很容易生气。
它使开发环境的设置变得如此简单。
部署
要部署任何项目,您需要创建云实例、安装操作系统、安装库、安装依赖项、复制二进制文件,然后使用这些选项运行它。
但是等等,有一个简单的过程:只需运行带有选项的容器映像即可。已部署🎉
所以现在部署过程不再复杂,docker通过创建易于使用的便携式容器来解决这个问题。
为什么选择 Kubernetes?
现在你可能会问,如果docker解决了这个问题,那么Kubernetes做什么呢?
想象一下您有一个迅速流行的Web 应用程序。最初,在服务器上运行应用程序的单个实例就足够了。
然而,随着用户流量的增长,单个服务器不足以有效地处理负载。如果没有 Kubernetes,手动扩展应用程序将涉及设置额外的服务器、配置负载平衡和管理流量分配,这是一个复杂且耗时的过程。
Kubernetes 可以帮助根据负载自动配置和删除服务器实例。它有效地管理负载均衡器,确保高可用性并无缝处理故障
所以,我希望你现在有动力去学习 Docker 和 Kubernetes。
相信我,这将对您的开发过程有很大帮助。并且还可以让您在招聘过程中获得优势。