首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Kubernetes工具Kompose在单个pod中启动多个容器

使用Kubernetes工具Kompose在单个pod中启动多个容器
EN

Stack Overflow用户
提问于 2017-10-12 13:26:17
回答 1查看 389关注 0票数 1

我在谷歌上搜索以下问题的解决方案的时间比我愿意承认的要长。

我有一个docker-compose.yml文件,它允许我在本地机器上启动一个由2个容器组成的生态系统。这太棒了。但我需要能够部署到Google Container Engine (GCP)。为此,我使用Kubernetes;仅部署到单个节点。

为了简化部署过程,我使用了kompose,它允许我使用我原来的docker-compose.yml在Google Container Engine上部署我的容器。这也很酷。问题是,默认情况下,Kompose将在单独的pod中部署每个docker服务(我有2个);每个pod一个容器。但我真的希望所有容器/服务都在同一个pod中。

我知道有一些方法可以在单个pod中部署多个容器,但我不确定是否可以使用Kompose来完成此任务。

这是我的docker-compose.yml:

代码语言:javascript
复制
version: "2"
services:
  server:
    image: ${IMAGE_NAME}
    ports:
      - "3000"
    command: node server.js
    labels:
      kompose.service.type: loadbalancer
  ui:
    image: ${IMAGE_NAME}
    ports:
      - "3001"
    command: npm run ui
    labels:
      kompose.service.type: loadbalancer
    depends_on:
      - server

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-10-12 18:46:48

问题是,docker-compose都不会像这样启动它们。它们是完全不同的。例如,这意味着你可以有两个容器监听端口80,因为它们是独立的。如果您试图将它们打包到同一个pod中,您将得到端口冲突,并以混乱告终。你想要实现的场景应该在你的Dockerfile级别上实现才有意义(尽管基于fat supervisor的容器在许多情况下可以被认为是一种反模式),反过来也会让你的写作过时……

我想你应该接受事物的现状,因为将docker-compose定义的堆栈映射到单个pod是没有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46702025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档