проект django : статический каталог недоступен в докере

#python #django #docker

Вопрос:

я работаю над личным проектом, базовым веб-приложением, которое отлично работает на местном уровне.

 /home/mxp/DOCKER/django_cv/django/venv/bin/gunicorn my_cv.wsgi --bind 0.0.0.0:8000 -e "DEBUG=1" -e "SECRET_KEY=****" -e "DJANGO_ALLOWED_HOSTS=localhost 127.0.01"
[2021-09-16 20:50:13  0200] [560882] [INFO] Starting gunicorn 20.1.0
[2021-09-16 20:50:13  0200] [560882] [INFO] Listening at: http://0.0.0.0:8000 (560882)
[2021-09-16 20:50:13  0200] [560882] [INFO] Using worker: sync
[2021-09-16 20:50:13  0200] [560884] [INFO] Booting worker with pid: 560884

 

теперь я запускаю то же изображение с моим файлом Dockerfile, как показано ниже

 FROM python:3.8
RUN apt-get update
RUN mkdir /usr/src/app
RUN useradd -U django
RUN mkdir /home/django amp;amp; chown django:django /home/django
USER django
ENV MICRO_SERVICE=/usr/src/app/django
COPY . $MICRO_SERVICE
WORKDIR $MICRO_SERVICE
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PATH=$PATH:/home/django/.local/bin
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
WORKDIR /usr/src/app/django/my_cv%   
 

И у меня это не найденное сообщение :

 sudo docker run -p 80:8000 7484050feceb gunicorn my_cv.wsgi --bind 0.0.0.0:8000 -e "DEBUG=1" -e "SECRET_KEY=****" -e "DJANGO_ALLOWED_HOSTS=localhost 127.0.01"
[2021-09-16 19:10:04  0000] [1] [INFO] Starting gunicorn 20.1.0
[2021-09-16 19:10:04  0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2021-09-16 19:10:04  0000] [1] [INFO] Using worker: sync
[2021-09-16 19:10:04  0000] [8] [INFO] Booting worker with pid: 8
Not Found: /static/cv/custom.css
Not Found: /static/cv/me.jpg
 

Я знаю, что это не лучший способ, и что перед этим я должен использовать nginx, который, кстати, работает с файлом docker-compose, но я хотел бы понять, почему он не работает.

в моем settings.py, я включил приложения

 django.contrib.staticfiles
 

и используйте эти 2 параметра

 STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'static'
 

любая помощь будет признательна

Комментарии:

1. это работает прямо сейчас, мне нужно было внести некоторые изменения, чтобы это работало : nts.strzibny.name/serve-django-static-assets-with-gunicorn , мне также пришлось сделать кое-что странное : я не знаю, почему, но картинки появляются, когда я меняю порт sudo docker run -p 8000:8000 7484050feceb gunicorn my_cv.wsgi --bind 0.0.0.0:8000 -e "DEBUG=1" -e "SECRET_KEY=****" -e "DJANGO_ALLOWED_HOSTS=localhost 127.0.01"