Get a Shell to a Running Container


let's list the running container using below command

C:\Users\Gaurav>kubectl get pods
NAME       READY   STATUS    RESTARTS   AGE
test-vol   1/1     Running   2          3d14h


Get a shell to the running container (test-vol):

kubectl exec -it test-vol -- /bin/bash

Note: The double dash (--) separates the arguments you want to pass to the command from the kubectl arguments.


In your shell, list the root directory:

# Run this inside the container
ls /


Running individual commands in a container

list the environment variables in the running container:

kubectl exec test-vol env

Here are some other examples:

kubectl exec test-vol -- ps aux
kubectl exec test-vol -- ls /


Opening a shell when a Pod has more than one container

If a Pod has more than one container, use --container or -c to specify a container in the kubectl exec command. For example, suppose you have a Pod named my-pod, and the Pod has two containers named main-app and helper-app. The following command would open a shell to the main-app container.

kubectl exec -i -t my-pod --container main-app -- /bin/bash