স্ট্যান্ডার্ড_ইনিট_লিনক্স.গো: 211: এক্সিকিউট ব্যবহারকারী প্রক্রিয়া "এক্সিকিউট ফর্ম্যাট ত্রুটি" সৃষ্টি করেছে


9

আমি পাইথন স্ক্রিপ্টের জন্য ডকফিল তৈরি করছি যা নীচে মিনিক्यूब উইন্ডোজ 10 সিস্টেমে চলবে আমার ডকফাইফিলটি

নীচের কমান্ডটি ব্যবহার করে ডকার তৈরি করা docker build -t python-helloworld .

এবং এটি মিনিক्यूब ডকার রাক্ষসে লোড হচ্ছে docker save python-helloworld | (eval $(minikube docker-env) && docker load)

ডকার ফাইল

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"]

পাইথনক্রোনজবজ.আইএমএল ফাইল (ক্রোন জব ফাইল)

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

নীচে এই কুবেরনেটস কাজটি চালানোর আদেশ দিন kubectl create -f pythoncronjob.yml

তবে নীচের ত্রুটিযুক্ত কাজটি খুব ভালভাবে চালিত হচ্ছে না তবে আপনি যখন ডকফেরফাইলকে একা চালিয়েছেন তখন এটির কাজ ঠিক আছে

স্ট্যান্ডার্ড_ইনিট_লিনক্স.গো: 211: এক্সিকিউট ব্যবহারকারী প্রক্রিয়া "এক্সিকিউট ফর্ম্যাট ত্রুটি" সৃষ্টি করেছে

উত্তর:


10

আমি দেখতে পাচ্ছি যে আপনি command: [/app/helloworld.py]yaml ফাইলে কমান্ডটি যুক্ত করেছেন ।

সুতরাং আপনার প্রয়োজন (ডকফেরাইলে):

RUN chmod +x /app/helloworld.py

আপনার pyফাইলে শেবাং সেট করুন:

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

অথবা আপনি যে কমান্ডটি করেছিলেন ঠিক তেমনই সেটআপ করুন Dockerfile


6

লগস্ট্যাশ ধারক চালানোর সময় আমি সম্প্রতি সমস্যার মুখোমুখি হয়েছি

স্ট্যান্ডার্ড_ইনিট_লিনক্স.গো: 211: এক্সিকিউট ব্যবহারকারী প্রক্রিয়া "এক্সিকিউট ফর্ম্যাট ত্রুটি" সৃষ্টি করেছে

লক্ষ্য করা গেছে যে এন্ট্রিপয়েন্ট.শের শেবাং লাইন (#! / বিন / শ) এন্ট্রিপয়েন্ট.শ ফাইলের প্রথম লাইনের পরিবর্তে দ্বিতীয় লাইনে টাইপ করা হয়েছিল।

স্ক্রিপ্টের প্রথম লাইনের মতো শেবাং লাইনটি তৈরি করা হলে ত্রুটিটি চলে যায় এবং "ডকার রান-লটস্টিহিমেজ: সর্বশেষ sh" পুরোপুরি কাজ করে।


আমি এটি সামান্য মোচড়ের সাথে মুখোমুখি হয়েছি, আমার কাছে শেবাং নেই এবং এটি আবার যুক্ত করতে হয়েছিল।
জন সিউ

2

আপনি যদি উইন্ডোজে ডকার চালনা করেন তবে আরও দুটি কারণ এই সমস্যাটি উত্থাপন করতে পারে :

  • স্ক্রিপ্টস লাইন শেষ এলএফ (লিনাক্স) নয়
  • স্ক্রিপ্ট এনকোডিং utf-8 + BOM হওয়া উচিত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.