Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

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

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

В этой статье мы поговорим о решении проблемы настройки окружения для разработки на Django в Windows.

В нашем примере воспользуемся такой связкой:

  1. Docker-machine.
  2. PyCharm.

А в Docker-machine используются:

  1. PostgreSQL.
  2. Data container для PostgreSQL.
  3. Redis.
  4. Непосредственно приложение на Django.

Увлекательные командные логические игры!

Отдыхать нужно тоже полноценно, иначе ваша жизнь превратиться в скучную рутину. Попробуйте логические игры от ExitGames – это интересные квесты на любой вкус, с различными заданиями и реалистичным оформлением. Попробуйте квест «выбраться из комнаты», вам нужно будет отыскать ответы на все загадки, найти спрятанные ключи и в конце концов выбраться на свободу! Попробуйте логические игры – вы получите незабываемые впечатления, гарантируем!

Для начала в систему следует инсталлировать Docker-machine. Заходим на официальный сайт и качаем оттуда версию для Windows. Нам также нужен будет VirtualBox.

Установив, вы найдете в системе Docker Quickstart Terminal. Запустив его, запустится docker-machine, которой мы дальше и будем пользоваться.

После запуска docker-machine в этом терминале можно будет выполнять команды docker.

Для запуска Redis и PostgreSQL и последующие автостарта данных контейнеров вместе с 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

Непосредственно приложение 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 и настроить удаленный интерпретатор. Чтобы это сделать переходим в Setting-Project: project_name-Project interpreter. В поле для выбора интерпретатора выбираем пункт add remote.

Подтверждаем внесенные изменения, при необходимости перезапустите PyCharm, если IDE не увидит проекты.

Теперь можно запускать проект. По дефолту он запускается по адресу: 192.168.99.100:80000.

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru yandex.ru
Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)