当我运行以下命令时
docker run mongo
它将下载 mongo 图像并在容器上运行它。
我在 VM 上运行 Linux。
我的操作系统详细信息如下:
NAME="CentOS Linux" VERSION="7(核心)"
如果我使用不同的操作系统/Mac 机器/Windows,docker 如何确定要拉取哪个镜像。据我了解,docker hub 上有一个用于 mongo 的图像,或者我们可以指定一个特定的图像来根据我们的操作系统运行。
至少在本地机器上安装时(不使用容器时)我们需要注意下载特定版本的 mongo。
docker 是如何处理的。
谢谢。
最佳答案
在拉取 docker 镜像时,您正在运行的操作系统在很大程度上是无关紧要的。只要您在主机上运行 docker(并且 docker 的版本从 windows 到 Mac 再到 Linux 略有不同),您就可以拉取任何您想要的图像。您可以提取相同的 mongo 图像并在任何操作系统中运行它。
图像隐藏了主机操作系统,因此可以轻松构建图像并在几乎任何机器上进行部署。
话虽如此,您可能会感到困惑,因为图像制作者多次使用不同的操作系统来构建他们的应用程序。一个简单的例子是人们使用 Ubuntu 镜像构建应用程序,但切换到基于 alpine 的镜像进行部署,因为它要小得多。但是,这两个图像几乎可以在任何地方运行。
https://stackoverflow.com/questions/62488742/