standard_init_linux.go:211: exec 用户进程导致“exec 格式错误"

standard_init_linux.go:211: exec user process caused quot;exec format errorquot;(standard_init_linux.go:211: exec 用户进程导致“exec 格式错误)
本文介绍了standard_init_linux.go:211: exec 用户进程导致“exec 格式错误"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在为 python 脚本构建 Dockerfile,它将在 minikube windows 10 系统中运行,下面是我的 Dockerfile

I am building the Dockerfile for python script which will run in minikube windows 10 system below is my Dockerfile

使用以下命令构建 dockerdocker build -t python-helloworld .

Building the docker using the below command docker build -t python-helloworld .

并将其加载到 minikube docker 恶魔中docker save python-helloworld |(eval $(minikube docker-env) && docker load)

and loading that in minikube docker demon docker save python-helloworld | (eval $(minikube docker-env) && docker load)

Docker 文件

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 文件(cron 作业文件)

pythoncronjob.yml file (cron job file)

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

下面是运行这个 Kubernetes 作业的命令kubectl create -f pythoncronjob.yml

Below is the command to run this Kubernetes job kubectl create -f pythoncronjob.yml

但是得到以下错误作业并没有成功运行,但是当你单独运行 Dockerfile 时,它的工作正常

But getting the below error job is not running scuessfully but when u ran the Dockerfile alone its work fine

standard_init_linux.go:211: exec 用户进程导致exec 格式错误"

standard_init_linux.go:211: exec user process caused "exec format error"

推荐答案

我看到你在yaml文件中添加了命令command: [/app/helloworld.py].

I can see that you add the command command: [/app/helloworld.py] to yaml file.

所以你需要(在 Dockerfile 中):

so you need to (in Dockerfile):

RUN chmod +x /app/helloworld.py

将 shebang 设置为您的 py 文件:

set shebang to your py file:

#!/usr/bin/env python # whatever your defualt python to run the script

或像在 Dockerfile

这篇关于standard_init_linux.go:211: exec 用户进程导致“exec 格式错误"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I make a list of all members in a discord server using discord.py?(如何使用 discord.py 列出不和谐服务器中的所有成员?)
how to change discord.py bot activity(如何更改 discord.py 机器人活动)
Issues with getting VoiceChannel.members and Guild.members to return a full list(让 VoiceChannel.members 和 Guild.members 返回完整列表的问题)
Add button components to a message (discord.py)(将按钮组件添加到消息(discord.py))
on_message() and @bot.command issue(on_message() 和@bot.command 问题)
How to edit a message in discord.py(如何在 discord.py 中编辑消息)