How to set the workdir of a container launched by Kubernetes
Is it possible to set the working directory when launching a container with Kubernetes ?
Solution 1:
Yes, through the workingDir
field of the container spec. Here's an example replication controller with an nginx container that has workingDir
set to /workdir
:
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 1
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: mynginximage
workingDir: /workdir
Solution 2:
It should be also possible to set the working directory using env and command attributes. Below is an example:
apiVersion: v1
kind: Pod
metadata:
name: print-greeting
spec:
containers:
- name: env-print-demo
image: bash
env:
- name: GREETING
value: "Warm greetings to"
- name: HONORIFIC
value: "The Most Honorable"
- name: NAME
value: "Kubernetes"
command: ["echo"]
args: ["$(GREETING) $(HONORIFIC) $(NAME)"]