Разработка на Django под Windows с помощью Docker-machine

от автора

В этой статье я расскажу как я решил проблему настройки окружения для разработки на Django под Windows.
Используется следующая связка:
1) Docker-machine
2) PyCharm
В Docker-machine:
1) PostgreSQL
2) Data container для PostgreSQL
3) Redis
4) И собственно само приложение на Django.

Сперва нам нужно установить Docker-machine в систему. Для этого скачиваем с официального сайта docs.docker.com/engine/installation/windows. Так же нам понадобится VirtulaBox.
После установки в системе появится Docker Quickstart Terminal. Нужно его запустить и он запустит docker-machine, с которой в дальнейшем и будет проходить всё взаимодействие.
После того как docker-machine будет запущена, через этот терминал мы сможем выполнять docker команды.

Для того, чтобы запустить PostgreSQL и Redis, и для дальнейшего автоматического старта этих контейнеров при запуске docker-machine, создадим файл docker-compose.yml:

postgres:   restart: always   image: postgres:latest   volumes_from:     - data   ports:     - "5432:5432"  data:   restart: always   image: postgres:latest   volumes:     - /var/lib/postgresql   command: "true"  redis:   restart: always   image: redis:latest   ports:     - "6379:6379" 

Через терминал нужно перейти в директорию с этим файлом и выполнить команду docker-compose up -d.
После того, как контейнеры запустятся их можно проверить командой docker ps. Эта команда должна показать примерно следующий результат:

Сейчас с компьютера можно например с помощью pgadmin подключиться к PostgreSQL по адресу: 192.168.99.100:5432.

Само приложение Django мы будем запускать при помощи PyCharm. Но для начала в корне созданного проекта создаем файл: Dockerfile с содержимым:

FROM django:onbuild 

Так же в корне проекта должен лежать файл requirements.txt, если конечно используются какие-либо внешние зависимости.
Пример файла requirements.txt:

Django==1.9.4 psycopg2==2.6.1 gunicorn==19.4.5 redis==2.10.5 django-celery==3.1.17 

В терминале выполняем команду docker build -t container_name path_to_docker_file .
Первый запуск займёт достаточно продолжительное время, так как будет скачан базовый образ и установлены все зависимости из файла requirements.txt.

После того, как образ с приложением будет создан, нужно проект в PyCharm и настроить удалённый интерпретатор. Для настройки нужно зайти в settings -> Project: project_name -> Project interpreter. В строке выбора интерпретатора выбрать пункт add remote.

Далее нужно подтвердить все изменения, если потребуется перезапустить PyCharm, если IDE не будет видеть пакетов.
И можно запускать проект. По умолчанию он будет запущен по адресу: 192.168.99.100:8000

При необходимости можно запускать удаленный manage.py из PyCharm, либо заходить, через docker в контейнер и выполнять нужные команды оттуда.

ссылка на оригинал статьи https://habrahabr.ru/post/282099/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *