Докеризация Django с Postgres, Gunicorn и Nginx - PullRequest
0 голосов
/ 20 января 2020

Я новичок в мире DevOps, и я полностью потерян и растерян.

Ну, я хочу создать приложение Django с базой данных Postgres, с Gunicorn и Nginx, но я хочу dockerize all.

Я знаю, что Django имеет venv, эту виртуальную среду для разработки, поэтому мне интересно, стоит ли мне использовать это на моей локальной машине или просто настроить Gunicorn и Nginx и использовать точно так же образы и среды для разработки и производства, что также означает, что существует только один файл .env.

Это хорошее решение? Потому что я не хочу использовать venv на производстве.

1 Ответ

0 голосов
/ 03 марта 2020

Виртуальная среда помогает разделить зависимости, необходимые для разных проектов. Следовательно, имеет смысл использовать venv, когда у вас есть несколько проектов в одной системе с различными зависимостями.

При использовании docker вы пытаетесь ограничить один контейнер одним проектом. Хотя технически возможно создать виртуальную среду внутри контейнера docker, но это на самом деле не очень хорошая вещь. С docker у вас уже есть совершенно другая «среда» для всех ваших проектов.

Кроме того, с учетом вашей точки зрения производства, всегда желательно использовать контейнеры, такие как docker.

У вас может быть несколько контейнеров, работающих вместе для вашего проекта, таких как postgres nginx и web_app, с использованием одного или разных .envs, полностью в зависимости от того, как вы хотите организовать в своем docker -compose.yml

...