Ich erstelle das Dockerfile für Python-Skript, das im folgenden Minikube Windows 10-System ausgeführt wird. Es ist mein Dockerfile
Erstellen Sie das Docker mit dem folgenden Befehl
docker build -t python-helloworld .
und das in Minikube Docker Dämon laden
docker save python-helloworld | (eval $(minikube docker-env) && docker load)
Docker-Datei
FROM python:3.7-alpine
#add user group and ass user to that group
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
#creates work dir
WORKDIR /app
#copy python script to the container folder app
COPY helloworld.py /app/helloworld.py
#user is appuser
USER appuser
ENTRYPOINT ["python", "/app/helloworld.py"]
pythoncronjob.yml Datei (Cron Job Datei)
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: python-helloworld
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
backoffLimit: 5
template:
spec:
containers:
- name: python-helloworld
image: python-helloworld
imagePullPolicy: IfNotPresent
command: [/app/helloworld.py]
restartPolicy: OnFailure
Unten finden Sie den Befehl zum Ausführen dieses Kubernetes-Jobs
kubectl create -f pythoncronjob.yml
Aber der folgende Fehlerjob wird nicht erfolgreich ausgeführt, aber wenn Sie das Dockerfile alleine ausgeführt haben, funktioniert es einwandfrei
standard_init_linux.go: 211: Exec-Benutzerprozess verursacht "Exec-Formatfehler"
quelle
Weitere zwei Gründe können dieses Problem verursachen, wenn Sie Docker unter Windows ausführen :
quelle