В этом проекты вы найдёте Dockerfile и docker-compose.yaml. Последний указанный файл запускает два контейнера: API отзывов о фильмах, книгах и песнях - yamdb, и базу данных PostgreSQL.
- Docker
P.S. Можно установить Docker Toolbox, если у вас Windows более раннего выпуска, нежели Windows 10.
- Склонируйте репозиторий
git clone https://github.com/MariaMozgunova/infra_sp2.git [<dir_name>]; - Перейдите в папку командой
cd <dir_name>; - Создайте файл конфигураций .env:
- сделайте копию шаблона файла .env
cp .env.template .env; - присвойте актуальные значения всем полям.
- сделайте копию шаблона файла .env
- Запустите контейнеры
docker-compose up -d; - Когда проект будет запущен, перейдите на
localhost:8000и проверьте, что видите надпись 'Not Found'. Если вы установили Docker Toolbox, перейдите по адресуhttp://192.168.99.100:8000.
Отлично! Всё работает.
- Выполните команду
docker container ls, чтобы увидеть CONTAINER ID контейнера с полем IMAGE = infra_sp2_web; - Выполните вход в контейнер командой
docker exec -it <CONTAINER ID> bash; - Выполните миграции
python3 manage.py migrate; - В файле initial_data.json подготовлены начальные данные, загрузите их в базу
python manage.py loaddata initial_data.json;
Если вы хотите создать свои тестовые данные, посмотрите статью RealPython https://realpython.com/data-migrations/#examples .
Также вы можете создать данные через shell, импортировав модели: python manage.py shell.
Если вы, находясь в docker-контейнере, захотите создать суперпользователя, выполните следующие действия:
- Обновить список пакетов
apt update; - Установите пакет sudo
apt-get install sudo; - Создайте пользователя
adduser <username>; - Добавьте нового пользователя в группу sudo
usermod -aG sudo <username>.
В контейнере приложения выполните следующие команды:
python manage.py createsuperuser;- введите почту и придумайте пароль.