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.)
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