Puncte:0

Nginx și gunicorn nu rulează în containerul Docker

drapel es

Sunt nou în Docker și fac tot posibilul să-mi dau seama de fiecare parte, dar mă lupt serios să pornesc gunicorn și nginx cu Dockerfile. Ori de câte ori adaug ultimele patru linii, containerul nu va porni și, de asemenea, nu reușește fără niciun mesaj de eroare.

DIN python:3.9-buster

EXPUNEREA 80

RUN apt update
RUN upgrade apt
RUN apt install nginx python3 python3-pip git swig python3-dev build-essential libmagic-dev -y
RUN apt install ffmpeg -y
RUN mkdir /opt/xxx
RUN git clone https://xxx:[email protected]/xxx/backend.git /opt/xxx/
RUN mkdir /root/d12f
RUN python3 -m pip install --upgrade pip
COPIEAZĂ .env /opt/xxx/xxx/.env
RUN pip3 install -r /opt/xxx/requirements.txt
RUN pip3 instalează gunicorn
RUN git clone https://xxx:[email protected]/xxx/configs.git /root/configs/
RUN cp /root/configs/nginx/default /etc/nginx/sites-available/.
RUN mkdir /var/log/telina/
CMD /usr/sbin/nginx -c /etc/nginx/nginx.conf
CMD /usr/local/bin/celery -A xxx --workdir /opt/xxx worker --loglevel=INFO -P prefork &
CMD /usr/local/bin/celery -A xxx --workdir /opt/xxx beat --schedule=/tmp/celerybeat-schedule --loglevel=INFO
CMD /usr/bin/gunicorn --chdir /opt/xxx --conf xxx:gunicorn_conf xxx:wsgi

Compilarea funcționează conform așteptărilor, dar rularea cu docker run -p 80:80 xxx:latest nu este.

Puncte:1
drapel jp

Dockerfile nu este un script shell. Ar putea fi doar unul CMD instructiune per Dockerfile (referinţă). Forking demoni ca nginx care trec în fundal în mod implicit va determina terminarea imediată a unui container.

drapel es
Multumesc pentru raspuns. Care este cea mai bună practică pentru a porni aceste demoni/procese?
drapel jp
Cea mai bună practică este să porniți acești demoni/procese în prim-plan. Utilizați un container separat pentru fiecare serviciu/proces.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.