В этой статье я расскажу как я решил проблему настройки окружения для разработки на 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/
Добавить комментарий