我是Docker世界的新手。我想通过举个例子来提问。假设有一家公司在他们的服务器上使用windows操作系统。要运行Docker容器,它们需要有一个正确的Linux环境。因此,他们利用虚拟化技术创建一个带有Linux环境的虚拟机来运行这个容器。在这里,这个Linux操作系统已经作为一个客户操作系统,那么为什么我们需要/install alpine或Ubuntu作为docker文件中的基本镜像?如果我的理解有误,请纠正我。谢谢你。
Docker Container
中的所有进程都是隔离的。
所以根据设计,你的主机程序在Docker映像中不可用。
从技术上讲,您不需要Alpine
或Ubuntu
Linux基本镜像。例如,您可以使用Scratch
映像:https://hub.docker.com/_/scratch
docker的思想是为应用程序提供完全隔离的完全相同的环境,它们不强制使用任何基本映像。
然而,最好使用官方基础图像,因为:
- 你有很多关于常见发行版的教程
- 你有很多预装的工具提供的基本映像。
- 官方图片由社区维护,因此他们正在为您解决问题。
Docker使用分层设计,最小化图像的大小。更多信息在这里:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/