【发布时间】:2019-04-18 19:15:57
【问题描述】:
我看到的一个相当常见的 docker 设置是让容器启动执行任务然后退出。
这是我经常使用 docker-compose 做的事情,我有一个节点容器来执行构建过程,并且一旦构建了静态文件就不需要熬夜了。
在这些情况下,如果我查看docker-compose ps 输出,而我的其他容器已启动并暴露在端口上,节点容器状态将为“Exit 0”。
虽然如果我需要访问这个容器,它会处于休眠状态。
将此设置转换为 Kubernetes 的最佳做法是什么?
我最初的方法是将所有内容放在一个 pod 中,但容器退出会导致 CrashLoopBackOff 并且由于 pod 重启策略,pod 会不断重启。 如果我要保留此设置,我只希望在其他容器之一失败时重新启动 pod。它已经将构建静态文件移动到其他容器可以访问的卷中。
是否应该将此容器移动到另一个不会重新启动的 pod 中?似乎这会使部署变得不必要地复杂化。
【问题讨论】:
标签: docker kubernetes docker-compose containers devops