Результатом создания любого web-проекта будет выгрузка проекта на удаленный сервер и выпуск его в мир пользователей, и здесь необходимо выгрузить наш Django проект в Docker.
В этой статье мы попробуем разобрать, что такое Docker, где скачать, как установить, и как с ним работать в операционной системе Windows 10 Pro. Сразу скажем, что для правильной работы Докера в вашей операционной системе должна быть включена виртуализация.
Как включить виртуализацию, надеюсь, вы легко найдете в интернете, а мы приступим к Докеру.
Что такое Docker и зачем он нужен?
Docker – это специальный инструмент с открытым исходным кодом, очень популярный инструмент, которым пользуются разработчики и администраторы для запуска отдельных приложений в отдельных контейнерах на одном сервере или VPS.
Эти контейнеры можно считать отдельными виртуальными машинами, они не знают о существовании других, не взаимодействуют друг с другом, если вы это не настроите, и в каждом контейнере может храниться свое виртуальное окружение, которое необходимо для работы именно этого контейнера! В резултате мы можем запустить разное програмное обеспечение абсолютно изолированные друг от друга!
Контейнеры мы собираем самостоятельно, из образов, наслаиваем их друг на друга: т.е. сначала, к примеру, устанавливаем образ Ubuntu, потом сверху наслаиваем образ Python 3.10, далее наслаиваем образ Django, и так далее… и весь этот пакет называется – image. Здесь можно сказать, что исспользуя насслаивания мы и получим Django проект в Docker.
Нужные нам образы мы скачиваем и устанавливаем с официального сайта Docker Hub.
Для того, что бы создать какой-то свой, кастомный образ или Докер контейнер, нам нужно его сбилдить, и мы получаем некую изолированну операционную систему с нужным нам предустановленным ПО.
Dockerfile и базовые команды
Dockerfile – это набор инструкций, которые выполняются для создания образа, или image.
Набор самых простых базовых инструкций:
FROM python:3.11 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONBUFFERED 1 WORKDIR /usr/src/test_1 COPY ./requirements.txt /usr/src/requirements.txt RUN pip install -r /usr/src/requirements.txt COPY . /usr/src/myshop EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Работа с командной строкой – Django проект в Docker
dir - посмотреть все директории и файлы docker image ls - посмотреть все image, но сам Docker должен быть запущен docker images - аналогичная команда предыдущей docker image rm IMAGE ID - удалить образ по IMAGE ID, но удалится он только если от него нет никаких зависимостей docker ps - посмотреть, какие контейнеры запущены docker container ls - аналогично предыдущей docker ps -a - увидим все контейнеры, которые есть, и их статусы docker container -a аналогично предыдущей docker build -t NAME . - сбилдить образ под именем NAME с текущей директории, т.е. с . docker run --name ИмяКонтейнера -p 8000:8000 -d имяОбраза(NAME с предыдущей команды) docker system prune - удалить все, что зависло docker rmi Image Image - удалить образы Image docker image prune - удалить образ, который завис docker rm ID_or_Name ID_or_Name - удалить контейнер