web-dev-qa-db-fra.com

standard_init_linux.go: 211: le processus utilisateur exec a causé "aucun fichier ou répertoire de ce type"?

Dockerfile

FROM python:3.7.4-Alpine

ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV LANG C.UTF-8
MAINTAINER Nurbek Batyrzhan "[email protected]"


RUN apk update && apk add postgresql-dev gcc musl-dev
RUN apk --update add build-base jpeg-dev zlib-dev
RUN pip install --upgrade setuptools pip

RUN mkdir /code
WORKDIR /code

COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

#CMD ["gunicorn", "--log-level=DEBUG", "--timeout 90", "--bind", "0.0.0.0:8000", "express_proj.wsgi:application"]
ENTRYPOINT ["./docker-entrypoint.sh"]

docker-entrypoint.sh

#!/bin/bash

# Prepare log files and start outputting logs to stdout
touch /code/gunicorn.log
touch /code/access.log
tail -n 0 -f /code/*.log &

# Start Gunicorn processes
echo Starting Gunicorn.
exec gunicorn express_proj.wsgi:application \
    --name express \
    --bind 0.0.0.0:8000 \
    --log-level=info \
    --log-file=/code/gunicorn.log \
    --access-logfile=/code/access.log \
    --workers 2 \
    --timeout 90 \
    "$@"

Obtenir une erreur standard_init_linux.go: 211: le processus de l'utilisateur exec a causé "aucun fichier ou répertoire de ce type". Besoin d'aide. Certains disent d'utiliser dos2unix (je ne sais pas comment l'utiliser.)

3

Cela peut également se produire si les fins de ligne du script sont incorrectes, c'est-à-dire \r\n au lieu de \r

cela peut être vérifié en utilisant le file path/to/script.sh commande qui indique si le script a CR-LF fins de ligne

Si c'est un script unique, dos2unix peut être utilisé pour le changer en \r\n à \n

Si c'est un référentiel git, définir l'option autocrlf sur input fonctionnerait

Comment modifier les paramètres de fin de ligne

1
tejas