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
|