有关Docker配置和相应操作系统选择的问题

时间:2018-05-26 17:36:48

标签: docker

我计划在Docker上使用ECS为Web服务构建一个环境 但是我遇到了麻烦,因为我不知道如何处理Docker中的操作系统。

我听说为Docker的一般构建每个服务单独构建Docker是很常见的 起初,有一个Docker收集了Docker,想象出为每个角色创建了Docker(服务器,DB,Redis ......)。 如果这样做,如果你将每个角色的Docker操作系统设置为通用LinuxOS(例如CentOS),它似乎只会因操作系统内存容量而大幅增加。
我刚刚意识到有一个名为CoreOS的紧凑型操作系统。

然后有疑问 Docker的操作系统是否可以为每个角色设置为CoreOS? 我到目前为止所写的假设是否常见?

如果你能回答它会很有帮助。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个问题,但您似乎误解了Docker镜像的“图层”。

只要您知道如何为该容器操作系统安装和管理服务,基本操作系统就不那么重要了。

对于最小的基本图像,您可以选择Alpine或CoreOS。对于可能与您的生产系统匹配的更实质的操作系统,您可以选择Debian,CentOS或Ubuntu。

如需更多阅读,请参阅Elasticsearch switched to CentOS as a base

当您可以使用aptyum install

时,您会发现事情通常更容易安装
  

仅通过OS内存容量显着增加

每台机器仅一次(假设在群集/群组中运行)。例如,如果您在Web应用程序和Redis Docker映像之间共享基本CentOS映像,则只会创建用于构建相应应用程序的额外层。

对于视觉,让我们假设我有一个Python(或Ruby,Node,Golang等)Web应用程序,使用相同语言编写的CLI实用程序,以及在一台机器上构建的数据库映像。您将构建一个通用的Python层,然后将其扩展到Web和CLI映像。所有图像都是从相同的基本OS映像构建的

----------------
|  Web | CLI   |
---------------------
|    Python    | DB |
---------------------
|     Base image    |
---------------------