Не удается получить доступ к каталогу/объему, созданному в Dockerfile; Django + Docker
Я новичок в Docker, и я пытаюсь развернуть сайт django с помощью Docker & Gunicorn. Образ Docker собирается просто отлично, но я продолжаю получать эту ошибку при попытке запустить его.
touch: cannot touch '/srv/logs/gunicorn.log': Нет такого файла или каталога touch: cannot touch '/srv/logs/access.log': Нет такого файла или каталога Запуск Gunicorn. tail: невозможно открыть '/srv/logs/*.log' для чтения: Нет такого файла или каталога
.
Если бы мне пришлось делать ставку, я бы сказал, что это проблема моего непонимания этих Docker Volumes
Вот соответствующие файлы:
Dockerfile
FROM ubuntu:18.04
MAINTAINER ozymandias
ENV DOCKYARD_SRC=agency
ENV DOCKHARD_SRVHOME=/srv
ENV DOCKYARD_SRVPROJ=/srv/agency
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y python3 python3-pip
WORKDIR $DOCKYARD_SRC
RUN mkdir media static logs
VOLUME ["$DOCKYARD_SRVHOME/media/", "$DOCKYARD_SRVHOME/logs/"]
RUN ls
copy $DOCKYARD_SRC $DOCKYARD_SRVPROJ
RUN pip3 install -r $DOCKYARD_SRVPROJ/requirements.txt
EXPOSE 8000
WORKDIR $DOCKYARD_SRVPROJ
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
docker-entrypoint.sh
#!/bin/bash
python3 manage.py migrate
python3 manage.py collectstatic --noinput
ls
touch /srv/logs/gunicorn.log
touch /srv/logs/access.log
tail -n 0 -f /srv/logs/*.log &
echo Starting Gunicorn.
exec gunicorn front.wsgi:application \
--name agency \
--bind 0.0.0.0:8000 \
--workers 3 \
--log-level=info \
--log-file=/srv/logs/gunicorn.log \
--access-logfile==/srv/logs/access.log \
"$@"