如何解决主机操作系统与 Docker 镜像操作系统
我的团队正在使用 Docker 和 Kubernetes 在 Azure Kubernetes 服务上部署基于 .NET 核心和 Nodejs 的应用程序。在查看 docker 镜像文件时,我的脑海中出现了几个问题。我想我需要一个清晰的解释才能可视化所有移动部件以及它们如何协同工作。我的理解是 Dockerfile 中的第一行是基础镜像,后续层将基于该镜像创建容器。此外,我们还有一堆基础设施、主机操作系统、Docker 运行时和容器。第一行提到的操作系统和主机操作系统之间有什么关系?我知道 Docker 进入主机操作系统内核并与容器共享它,但是其他操作系统作为基本映像的作用是什么?我的团队正在使用 mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine
,其他团队可能会使用其他基本映像。当像 Azure Kubernetes 服务这样的编排系统启动容器时,我假设它是在已经运行了操作系统的现有虚拟机上运行的(这将是主机操作系统),那么当我们指定一个通常是轻量级的操作系统在 Dockerfile 的第一行?此外,Kubernetes 拉取的基本映像是要缓存还是将成为我们为应用程序构建的映像的一部分?如果它不是应用程序映像的一部分,为什么映像大小会因基础映像而异?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。