Contents

Kubernetes Application Commands

Docker

Command

1
docker run ubuntu sleep 5

Dockerfile

1
2
3
4
5
6
7
8
FROM ubuntu:latest

# Correct
CMD sleep 5
CMD ["sleep", "5"]

# Incorrect
# CMD ["sleep 5"]

Dockerfile and Command

CMD

1
2
3
FROM ubuntu:latest

CMD sleep 5
1
docker build -t ubunut-cmd-sleeper .
1
2
3
4
5
# sleep 5
docker run ubuntu-cmd-sleeper

# sleep 10
docker run ubuntu-cmd-sleeper sleep 10

ENTRYPOINT

1
2
3
FROM ubuntu:latest

ENTRYPOINT ["sleep"]
1
docker build -t ubuntu-entrypoint-sleeper .
1
2
3
4
# Error
docker run ubuntu-entrypoint-sleeper
# sleep: missing operand
# Try 'sleep --help' for more information.
1
2
# sleep 20
docker run ubunut-entrypoint-sleeper 20

ENTRYPOINT with Default Argument

1
2
3
4
5
FROM ubuntu:latest

ENTRYPOINT ["sleep"]

CMD ["3"]
1
docker build -t ubuntu-entrypoint-cmd-sleeper .
1
2
3
4
5
6
7
8
# sleep 3
docker run ubuntu-entrypoint-cmd-sleeper

# sleep 15
docker run ubuntu-entrypoint-cmd-sleeper 15

# cat /etc/passwd
docker run --entrypoint cat ubuntu-entrypoint-cmd-sleeper /etc/passwd

Kubernetes

Base Docker Image

1
2
3
4
5
FROM ubuntu:latest

ENTRYPOINT ["sleep"]

CMD ["3"]
1
docker build -t ubuntu-sleeper .

Docker Command to YAML

1
docker run --name sleeper-container ubuntu-sleeper

ubuntu-sleeper.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  restartPolicy: Never
  containers:
    - name: sleeper-container
      image: ubunut-sleeper
      imagePullPolicy: Never
1
kubectl create -f ubuntu-sleeper.yaml

Docker Command to YAML with Argument Replacement

1
2
# sleep 3
docker run --name sleeper-container ubuntu-sleeper 50

ubuntu-sleeper-argument.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  restartPolicy: Never
  containers:
    - name: sleeper-container
      image: ubunut-sleeper
      imagePullPolicy: Never
      args: [ "50" ]
1
2
# sleep 50
kubectl create -f ubuntu-sleeper-argument.yaml

Docker Command to YAML with Command and Argument Replacement

1
docker run --name sleeper-container --entrypoint cat ubuntu-sleeper /etc/passwd

ubuntu-sleeper-command-argument.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  restartPolicy: Never
  containers:
    - name: sleeper-container
      image: ubunut-sleeper
      imagePullPolicy: Never
      command: [ "cat" ]
      args: [ "/etc/passwd" ]

Or

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  restartPolicy: Never
  containers:
    - name: sleeper-container
      image: ubunut-sleeper
      imagePullPolicy: Never
      command:
        - "cat"
        - "/etc/passwd"

Or

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
apiVersion: v1
kind: Pod
metadata:
  name: ubuntu-sleeper-pod
spec:
  restartPolicy: Never
  containers:
    - name: sleeper-container
      image: ubunut-sleeper
      imagePullPolicy: Never
      command: [ "cat", "/etc/passwd" ]
1
2
# cat /etc/passwd
kubectl create -f ubuntu-sleeper-command-argument.yaml