docker - 为什么 docker 必须从 dockerfile 创建一个镜像,然后从该镜像创建一个容器,而不是从 Dockerfile 创建一个容器?
问题描述
为什么 docker 必须从 dockerfile 创建一个镜像,然后从该镜像创建一个容器,而不是直接从 Dockerfile 创建一个容器?
首先从 Dockerfile 创建映像然后从创建容器的目的/好处是什么?
- - -编辑 - - -
这个问题Docker 镜像和容器有什么区别? 不回答我的问题。
我的问题是:为什么我们需要从图像而不是 dockerfile 创建容器?首先从 Dockerfile 创建映像然后从创建容器的目的/好处是什么?
解决方案
- Dockerfile 是创建镜像的秘诀
- 图像是一个虚拟文件系统
- 容器是主机上正在运行的进程
您不希望每个主机都根据配方构建自己的映像。对于某些主机来说,只需下载图像并使用它会更容易。
创建图像可能非常昂贵。我有复杂的 Dockerfile,可能需要几个小时才能构建,可能会下载 50 GB 的数据,但仍然只能创建一个 200 MB 的图像,我可以将其发送到不同的主机。
从现有图像启动容器非常便宜。
如果您只有 Dockerfile 来启动镜像容器,那么整个工作流程将变得非常繁琐。
推荐阅读
- mule-studio - Anypoint MQ 连接器 - 消费者和订阅者之间的区别
- css - 如何显示用省略号缩短的居中多行文本?
- elixir - 如何连接 Elixir 中地图属性的列表?
- java - 如何在 VS Code 中调试 Maven 项目?
- scala - 为什么这个函数不是尾递归的?
- stm32 - 如何在没有 STLINK 的情况下刷机
- android - Kotlin:如何在 viewModel 中观察一次 liveData?使用 ObserveForever() 和 removeObserver()
- entity-framework - EF Core:无法翻译 LINQ 表达式 - Net Core 3.1
- azure - 如何检索允许用户从 AzureAD Graph API 访问的应用程序/服务主体?
- swift - 居中 UIStackView 不居中视图