Розробка на 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 в контейнер і виконувати потрібні команди звідти.

Джерело: Хабрахабр
  • avatar
  • 0

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.