主机操作系统与 Docker 镜像操作系统

时间:2021-05-11 01:01:41

标签: docker kubernetes dockerfile docker-image

我的团队正在使用 Docker 和 Kubernetes 在 Azure Kubernetes 服务上部署基于 .NET 核心和 Nodejs 的应用程序。在查看 docker 镜像文件时,我的脑海中出现了几个问题。我想我需要一个清晰的解释才能可视化所有移动部件以及它们如何协同工作。我的理解是 Dockerfile 中的第一行是基础镜像,后续层将基于该镜像创建容器。此外,我们还有一堆基础设施、主机操作系统、Docker 运行时和容器。第一行提到的操作系统和主机操作系统之间有什么关系?我知道 Docker 进入主机操作系统内核并与容器共享它,但是其他操作系统作为基本映像的作用是什么?我的团队正在使用 mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine,其他团队可能会使用其他基本映像。当像 Azure Kubernetes 服务这样的编排系统启动容器时,我假设它是在已经运行了操作系统的现有虚拟机上运行的(这将是主机操作系统),那么当我们指定一个通常是轻量级的操作系统在 Dockerfile 的第一行?此外,Kubernetes 拉取的基本映像是要缓存还是将成为我们为应用程序构建的映像的一部分?如果它不是应用程序映像的一部分,为什么映像大小会因基础映像而异?

0 个答案:

没有答案