[英]Questions about Docker's configuration and the selection of OS accordingly
我计划在Docker上使用ECS构建Web服务环境。
但是我很麻烦,因为我不知道如何处理Docker内部的OS。
我听说通常为每个服务单独构建Docker,以进行Docker的一般构建。
最初,有一个Docker聚集了Docker,并想象为每个角色创建Docker(服务器,DB,Redis ...)的方式。
如果这样做,将每个角色的Docker OS设置为一般的LinuxOS(例如CentOS),似乎只有OS内存容量会大大增加。
我刚刚意识到有一个名为CoreOS的紧凑型操作系统。
然后有疑问。
对于每个角色,将Docker的OS设置为CoreOS是常见的吗?
到目前为止我写的假设很普遍吗?
如果您可以回答,将很有帮助。
不确定我是否理解这个问题,但是您似乎误解了Docker映像的“层”。
只要您知道如何为该容器操作系统安装和管理服务,基本操作系统就没有多大关系。
为了使基本图像最少,可以选择Alpine或CoreOS。 对于可能与您的生产系统匹配的更强大的OS,则可以从Debian,CentOS或Ubuntu中进行选择。
有关更多信息,请参阅Elasticsearch切换为CentOS作为基础 。
您会发现,使用apt
或yum install
时,安装起来通常更容易
仅通过OS内存容量显着增加
但是,每台计算机仅一次 (假设在集群/群集中运行)。 例如,如果您在Web应用程序和Redis Docker映像之间共享基本的CentOS映像,则仅创建用于构建各个应用程序的额外层。
为了获得视觉效果,我们假设我有一个Python(或Ruby,Node,Golang等)Web应用程序,使用相同语言编写的CLI实用程序以及在一台计算机上构建的数据库映像。 您将构建一个通用的Python层,然后将其扩展到Web和CLI映像。 所有映像均基于同一基本操作系统映像构建
----------------
| Web | CLI |
---------------------
| Python | DB |
---------------------
| Base image |
---------------------
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.