在Kubernetes集群中使用docker映像启动服务的最佳实践

在Kubernetes集群中使用docker映像启动服务的最佳实践,docker,kubernetes,devops,Docker,Kubernetes,Devops,在Kubernetes集群中启动docker容器的最佳方法是什么?使用命令选项创建Kubernetes吊舱时,最好在docker容器本身中启动服务,还是传递命令 我正在使用的映像具有多个服务,因此我尝试通过更改它们运行的服务并将这些映像传递给Kubernetes吊舱来构建许多映像,但是如果我可以从吊舱本身启动服务,我将只需要管理一个映像 目前,我有两个DockerFile,一个用于主进程 FROM node:10 WORKDIR /app COPY . /app RUN yarn CMD ["y

在Kubernetes集群中启动docker容器的最佳方法是什么?使用命令选项创建Kubernetes吊舱时,最好在docker容器本身中启动服务,还是传递命令

我正在使用的映像具有多个服务,因此我尝试通过更改它们运行的服务并将这些映像传递给Kubernetes吊舱来构建许多映像,但是如果我可以从吊舱本身启动服务,我将只需要管理一个映像

目前,我有两个DockerFile,一个用于主进程

FROM node:10
WORKDIR /app
COPY . /app
RUN yarn
CMD ["yarn", "start:app"]
EXPOSE 3000
还有一个Dockerfile.worker作为我的后台工作人员

FROM node:10
WORKDIR /app
COPY . /app
RUN yarn
CMD ["yarn", "start:worker"]

目前,我在同一个代码库中管理两个图像,我在考虑是否最好有一个图像并从Kubernetes传递start命令

所以我认为这是一个非常自以为是的问题,但我认为docker映像应该只有一个进程(因此在docker文件中设置它将是您的最佳选择,因为它不需要在运行它的任何地方进行配置),但是有时您会遇到这样的用例,即单个docker映像可以有多个命令,在这种情况下,我建议将最常用的命令设置为Dockerfile中的默认命令,然后如果需要,您可以使用Kubernetes command flag来覆盖此命令,当您要使用其他命令启动映像时

请共享您的
Dockerfile
文件或您的命令行docker代码,以便我们可以更好地提供建议。我已更新信息技术