什么是镜像?
原文:https://docs.docker.com/guides/docker-concepts/the-basics/what-is-an-image/
解释
既然容器是一个隔离的进程,那么它的文件和配置从哪里来?你如何共享这些环境?
这就是容器镜像发挥作用的地方!
容器镜像是一个标准化的包,包括运行容器所需的所有文件、二进制文件、库和配置。
对于一个PostgreSQL镜像,该镜像将打包数据库二进制文件、配置文件和其他依赖项。对于一个 Python 网络应用,它将包括 Python 运行时、你的应用代码及其所有依赖项。
镜像有两个重要原则:
镜像是不可变的。一旦创建了镜像,就无法修改它。你只能创建新的镜像或在其上添加更改。
容器镜像由多个层组成。每个层代表一组文件系统更改,这些更改添加、删除或修改文件。
这两个原则让你能够扩展或添加到现有的镜像上。例如,如果你正在构建一个 Python 应用,你可以从Python 镜像开始,并添加额外的层来安装你的应用的依赖项并添加你的代码。这让你可以专注于你的应用,而不是 Python 本身。
寻找镜像
Docker Hub是存储和分发镜像的默认全球市场。它拥有由开发者创建的超过 100,000 个可在本地运行的镜像。你可以搜索 Docker Hub 的镜像并直接从 Docker 桌面运行它们。
Docker Hub 提供了一系列由 Docker 支持和认可的镜像,称为 Docker 可信内容。这些包括:
- Docker 官方镜像 - 一组精选的 Docker 仓库,作为大多数用户的起点,也是 Docker Hub 上一些最安全的镜像。
- Docker 验证发布者 - 由 Docker 验证的商业发布者提供的高质量镜像。
- Docker 赞助的开源 - 由开源项目发布和维护的镜像,这些项目通过 Docker 的开源计划得到 Docker 的赞助。
例如,Redis和Memcached是一些流行的即用型 Docker 官方镜像。你可以下载这些镜像,并在几秒钟内启动这些服务。还有基础镜像,如Node.js Docker 镜像,你可以用它作为起点并添加你自己的文件和配置。
现在试试
在这个动手操作中,你将学习如何使用 Docker 桌面 GUI 搜索和拉取容器镜像。
搜索并下载镜像
打开 Docker 仪表板,选择左侧导航菜单中的镜像视图。
选择搜索镜像以运行按钮。如果你没有看到它,选择屏幕顶部的全局搜索栏。
在搜索字段中,输入 "welcome-to-docker"。搜索完成后,选择
docker/welcome-to-docker
镜像。选择拉取以下载镜像。
了解镜像
一旦你下载了一个镜像,你可以通过 GUI 或 CLI 了解很多关于镜像的细节。
在 Docker 仪表板中,选择镜像视图。
选择docker/welcome-to-docker镜像以打开有关该镜像的详细信息。
镜像详细信息页面为你提供了有关镜像层、镜像中安装的包和库以及发现的任何漏洞的信息。
通过本教程,你搜索并拉取了一个 Docker 镜像。除了拉取 Docker 镜像,你还了解了 Docker 镜像的层结构。
额外资源
以下资源将帮助你学习更多关于探索、寻找和构建镜像的知识: