TestDriven.io: Сервис PyTest и Django не запускается в docker?
Я сейчас застрял на этой части курса.
После запуска контейнера Docker (который говорит, что он установлен правильно при запуске localhost) я получаю: service "movies" is not running
Структура папки:
docker-compose.yaml
:
# version: '3.8'
services:
movies:
build: ./TestDrivenIO
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./TestDrivenIO/:/usr/src/TestDrivenIO/
ports:
- 8009:8000
env_file:
- ./TestDrivenIO/.env.dev
depends_on:
- movies-db
movies-db:
image: postgres:15
volumes: # create a volume and bind directory to the container
- postgres_data:/var/lib/postgresql/data/
environment: # added ENV key to define a name for default DB & credentials
- POSTGRES_USER=movies
- POSTGRES_PASSWORD=movies
- POSTGRES_DB=movies_dev
volumes:
postgres_data:
Dockerfile:
# pull official base image
FROM python:3.11.2-slim-buster
# set working directory
WORKDIR /usr/src/TestDrivenIO
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# updated
# install system dependencies
RUN apt-get update \
&& apt-get -y install netcat gcc postgresql \
&& apt-get clean
# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt
# new
# copy entrypoint.sh
COPY ./entrypoint.sh /usr/src/TestDrivenIO/entrypoint.sh
RUN chmod +x /usr/src/TestDrivenIO/entrypoint.sh
# add app
COPY . .
# new
# run entrypoint.sh
ENTRYPOINT ["/usr/src/TestDrivenIO/entrypoint.sh"]
Как я могу определить проблему здесь? Я не вижу никакого способа проверить журналы, кажется, что я все сделал правильно, но я не понимаю, почему он говорит, что он не запущен.
Вот как это выглядит при проверке процессов:
После того как я изучил ВСЕ, что только можно было изучить... Я вернулся назад и закомментировал точку входа Dockerfile
и нижележащую секцию. Это сработало. Значит, проблема была в этом единственном изменении.
Затем я удалил файл точки входа и создал новый с тем же содержимым. Откомментировал все это. И все заработало! Я изменил локальные права доступа к файлу, как было сказано в уроке, но, видимо, это вызвало проблему с копированием файла.
ОБНОВЛЕНИЕ: Нет, я ошибся. Я просто больше не комментировал этот раздел. Все равно не работает.