Buduję plik Dockerfile dla skryptu python, który będzie działał w systemie Windows 10 minikube poniżej to mój plik Docker
Budowanie okna dokowanego za pomocą poniższego polecenia
docker build -t python-helloworld .
i ładowanie tego do demona dokera minikube
docker save python-helloworld | (eval $(minikube docker-env) && docker load)
Plik dokera
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"]
plik pythoncronjob.yml (plik zadania cron)
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
Poniżej znajduje się polecenie uruchomienia tego zadania Kubernetes
kubectl create -f pythoncronjob.yml
Ale otrzymanie poniższego zadania błędu nie działa płynnie, ale kiedy uruchomiłeś sam plik Dockerfile, jego działanie jest w porządku
standard_init_linux.go: 211: proces użytkownika exec spowodował „błąd formatu exec”
źródło
Kolejne dwa powody mogą podnieść ten problem, jeśli uruchomisz okno dokowane w systemie Windows :
źródło