我们可以像 nginx + Redis + alpine 一样拥有一个带有多个图像的容器吗?

时间:2020-12-25 04:05:43

标签: docker kubernetes

我们必须使用单个容器创建 Pod,该容器必须使用图像 redis + nginx + memcached。然后是以下问题:

这可能吗? 如果是,如何创建它,。任何方式交互式或基于 yaml ?如果可能,请分享 yaml 文件

2 个答案:

答案 0 :(得分:2)

<块引用>

这可能吗?

不是……真的吗?容器从单个映像启动。另一方面,您当然可以创建一个包含所有这些服务的图像:

  • 使用 multi-stage build,您可以组合来自多个图像的内容,但您会将其合并为一个图像。

  • 您可以将它们安装在 Alpine 基础映像之上。

在任何一种情况下,您的 pod 可能仍然有多个容器

答案 1 :(得分:1)

Kubernetes 允许 pod 有多个容器作为 sidecar 运行,每个容器作为一个独立的进程运行,但具有协同工作的能力。构成 pod 的不同容器被调度在同一个 VM 上。

实现您所需要的理想方法是为 Redis、Nginx 和 Memcached 提供单独的容器。然后需要将这些安排为 pod。

你可以参考这个进行基本的了解 - https://kubernetes.io/docs/concepts/workloads/pods/#how-pods-manage-multiple-containers