У меня были проблемы с Dockerfile из-за случайных файлов, таких как 'chunk' в папке stati c. Я решил это с помощью fre sh клона моего репозитория, когда файлы фрагментов исчезли, см. Здесь .
Так что он отлично работает, когда я просто запускаю, используя только изображение, используя docker run --rm -d mellon:latest
.
Вот файл Docker:
FROM (MY FRIENDS ACCOUNT)/django-npm:latest
RUN mkdir usr/src/mprova
WORKDIR /usr/src/mprova
COPY frontend ./frontend
COPY backend ./backend
WORKDIR /usr/src/mprova/frontend
RUN npm install
RUN npm run build
WORKDIR /usr/src/mprova/backend
ENV DJANGO_PRODUCTION=True
RUN pip3 install -r requirements.txt
EXPOSE 8000
CMD python3 manage.py collectstatic && \
python3 manage.py makemigrations && \
python3 manage.py migrate && \
gunicorn mellon.wsgi --bind 0.0.0.0:8000
Теперь (в соответствии с советами людей в сети) я пытаюсь отделить приложение от базы данных, поэтому я написал docker - compose.yml.
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=(adminname)
- POSTGRES_PASSWORD=(adminpassword)
- CLOUDINARY_URL=(cloudinarykey)
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- ./backend:/usr/src/mprova/backend
ports:
- "8000:8000"
depends_on:
- db
(Также досадно - мне приходится go в bash и запускать python3 manage.py makemigrations
и python3 manage.py migrate
каждый раз, даже если он уже в Dockerfile ???)
Теперь, когда я запускаю следующие команды: docker-compose build
docker-compose up
Он выполняет все шаги, но в браузере я вижу ту же проблему, что и в моем предыдущем пост . Вот скриншот:
And here is the console (Google Chrome):
введите описание изображения здесь
Чтобы прояснить, я не писал ни одного из файлов, которые показаны на скриншоте выше, они все сгенерированы, и я не знаю, когда и как. После выполнения чистого клона и запуска файла Dockerfile (не docker -compose.yml) все в порядке. Тем не менее, когда я использую docker -compose.yml, я сталкиваюсь с этой ошибкой.
Я пробовал несколько fre sh клонов репо, но команды для запуска docker -compose.yml являются определенно генерирует эти файлы stati c каким-то образом. Что я делаю неправильно?