小编典典

如何让容器在 Kubernetes 上运行?

all

我现在尝试在 Kubernetes 集群上运行一个带有 shell (/bin/bash) 的简单容器。

我认为有一种方法可以通过使用pseudo-tty和分离选项(命令-td选项docker run)来保持容器在 Docker 容器上运行。

例如,

$ sudo docker run -td ubuntu:latest

Kubernetes中有这样的选项吗?

我尝试使用以下kubectl run-container命令运行容器:

kubectl run-container test_container ubuntu:latest --replicas=1

但是容器会退出几秒钟(就像使用docker run上面提到的没有选项的命令启动一样)。ReplicationController 会重复启动它。

-td有没有办法像命令中的选项一样让容器在 Kubernetes 上运行docker run


阅读 69

收藏
2022-06-16

共1个答案

小编典典

容器在其主进程退出时退出。做类似的事情:

docker run -itd debian

坦率地说,保持容器打开是一种技巧,只能用于快速测试和示例。如果您只想要一个容器进行几分钟的测试,我会这样做:

docker run -d debian sleep 300

这样做的好处是,如果您忘记它,容器将自动退出。或者,您可以将这样的东西放在一个while循环中以使其永远运行,或者只运行一个应用程序,例如top.
所有这些在 Kubernetes 中都应该很容易做到。

真正的问题是你为什么要这样做?您的容器应该提供服务,其进程将使容器在后台运行。

2022-06-16