I'm now trying to run a simple container with shell (/bin/bash) on a Kubernetes cluster.
I thought that there was a way to keep a container running on a Docker container by using pseudo-tty
and detach option (-td
option on docker run
command).
For example,
$ sudo docker run -td ubuntu:latest
Is there an option like this in Kubernetes?
I've tried running a container by using a kubectl run-container
command like:
kubectl run-container test_container ubuntu:latest --replicas=1
But the container exits for a few seconds (just like launching with the docker run
command without options I mentioned above). And ReplicationController launches it again repeatedly.
Is there a way to keep a container running on Kubernetes like the -td
options in the docker run
command?
Containers are meant to run to completion. You need to provide your container with a task that will never finish. Something like this should work:
apiVersion: v1
kind: Pod
metadata:
name: ubuntu
spec:
containers:
- name: ubuntu
image: ubuntu:latest
# Just spin & wait forever
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]