Skip to content

什么是镜像?

原文:https://docs.docker.com/guides/docker-concepts/the-basics/what-is-an-image/

解释

既然容器是一个隔离的进程,那么它的文件和配置从哪里来?你如何共享这些环境?

这就是容器镜像发挥作用的地方!

容器镜像是一个标准化的包,包括运行容器所需的所有文件、二进制文件、库和配置。

对于一个PostgreSQL镜像,该镜像将打包数据库二进制文件、配置文件和其他依赖项。对于一个 Python 网络应用,它将包括 Python 运行时、你的应用代码及其所有依赖项。

镜像有两个重要原则:

  1. 镜像是不可变的。一旦创建了镜像,就无法修改它。你只能创建新的镜像或在其上添加更改。

  2. 容器镜像由多个层组成。每个层代表一组文件系统更改,这些更改添加、删除或修改文件。

这两个原则让你能够扩展或添加到现有的镜像上。例如,如果你正在构建一个 Python 应用,你可以从Python 镜像开始,并添加额外的层来安装你的应用的依赖项并添加你的代码。这让你可以专注于你的应用,而不是 Python 本身。

寻找镜像

Docker Hub是存储和分发镜像的默认全球市场。它拥有由开发者创建的超过 100,000 个可在本地运行的镜像。你可以搜索 Docker Hub 的镜像并直接从 Docker 桌面运行它们。

Docker Hub 提供了一系列由 Docker 支持和认可的镜像,称为 Docker 可信内容。这些包括:

  • Docker 官方镜像 - 一组精选的 Docker 仓库,作为大多数用户的起点,也是 Docker Hub 上一些最安全的镜像。
  • Docker 验证发布者 - 由 Docker 验证的商业发布者提供的高质量镜像。
  • Docker 赞助的开源 - 由开源项目发布和维护的镜像,这些项目通过 Docker 的开源计划得到 Docker 的赞助。

例如,RedisMemcached是一些流行的即用型 Docker 官方镜像。你可以下载这些镜像,并在几秒钟内启动这些服务。还有基础镜像,如Node.js Docker 镜像,你可以用它作为起点并添加你自己的文件和配置。

现在试试

在这个动手操作中,你将学习如何使用 Docker 桌面 GUI 搜索和拉取容器镜像。

搜索并下载镜像

  1. 打开 Docker 仪表板,选择左侧导航菜单中的镜像视图。

    Docker仪表板的屏幕截图,显示左侧边栏上的镜像视图

  2. 选择搜索镜像以运行按钮。如果你没有看到它,选择屏幕顶部的全局搜索栏

    Docker仪表板的屏幕截图,显示搜索标签

  3. 搜索字段中,输入 "welcome-to-docker"。搜索完成后,选择docker/welcome-to-docker镜像。

    Docker仪表板的屏幕截图,显示docker/welcome-to-docker镜像的搜索结果

  4. 选择拉取以下载镜像。

了解镜像

一旦你下载了一个镜像,你可以通过 GUI 或 CLI 了解很多关于镜像的细节。

  1. 在 Docker 仪表板中,选择镜像视图。

  2. 选择docker/welcome-to-docker镜像以打开有关该镜像的详细信息。

    Docker仪表板的屏幕截图,显示镜像视图,箭头指向docker/welcome-to-docker镜像

  3. 镜像详细信息页面为你提供了有关镜像层、镜像中安装的包和库以及发现的任何漏洞的信息。

    docker/welcome-to-docker镜像的镜像详细信息视图的屏幕截图

通过本教程,你搜索并拉取了一个 Docker 镜像。除了拉取 Docker 镜像,你还了解了 Docker 镜像的层结构。

额外资源

以下资源将帮助你学习更多关于探索、寻找和构建镜像的知识: