作者:禅与计算机程序设计艺术
1.背景介绍
容器是一个可以打包、部署和运行应用程序的轻量级隔离环境。它使得开发者和系统管理员能够打包应用程序及其依赖项到一个标准化的单元中并简化了应用程序的分发和部署流程。容器化意味着将应用程序从宿主机环境中分离出来,这样就可以在不同的服务器上或云平台上运行。docker是最流行的容器化工具之一。
2017年3月,微软宣布开源容器引擎Moby,这是由docker官方公司开源的容器运行时,其目的是提供容器服务(支持docker API)、编排(compose)、集群管理(kubernetes)等功能。moby项目被Linux基金会托管在github上,并获得了广泛关注。
2017年11月,CNCF(Cloud Native Computing Foundation)基金会成立,是一个专注于云计算领域的非营利组织。CNCF拥有多个子项目,包括Kubernetes、Prometheus、CoreDNS、etcd、linkerd、helm等。基于社区的发展趋势,CNCF主导的新兴云原生应用编排框架Kubernetes成为许多企业的首选容器编排工具。
本文主要介绍关于docker和kubernetes的一些基本知识和基本概念。具体涵盖的内容如下:
2.核心概念与联系
2.1 基本术语定义
- 镜像(Image):一个可执行的文件集合,用来创建容器的模板。它通常包含完整的软件环境和配置,包括代码、运行时、库、设置、脚本文件等。一般来说,镜像是不能修改的。