Docker — порядок на сервере

В прошлом уроке вы задеплоили бота на сервер: агент установил все нужные программы, перенес код и настроил автозапуск. Бот работает, все отлично. 

Но как только вы решите добавить туда новый проект, могут начаться проблемы. Дело в том, что каждая программа на Python использует внешние пакеты — готовые кусочки кода, которые кто-то написал до вас. Ваш бот, например, использует python-telegram-bot для работы с Telegram и deepgram для расшифровки аудио. Эти инструменты установлены на сервере и лежат в общей папке.

Теперь представьте, что вы запустите на том же сервере второй проект. Он тоже будет использовать python-telegram-bot, но другой версии — более старой или более новой. Две версии одного инструмента не смогут существовать в одной папке одновременно. Установка второго инструмента перезапишет настройки первого и один из ботов сломается. И чем больше проектов на сервере, тем чаще будут возникать такие конфликты.

Чтобы такого не происходило, проекты нужно изолировать друг от друга. Для этого существует Docker — программа, которая запускает каждый проект в отдельном контейнере. Контейнер — это изолированная среда со своими настройками и инструментами. Проекты в разных контейнерах не пересекаются: каждый работает так, будто он на сервере один. Можно запустить хоть десять проектов рядом, и они не будут мешать друг другу.

Даже если у вас пока только один проект, имеет смысл сразу запустить его в Docker. Когда появится второй — вы просто добавите еще один контейнер, и ничего не сломается.

Вступив в Нейроцех, вы получите
доступ к материалу, а также:

Закрытое активное
сообщество

Доступ к ежемесячным
вебинарам

100+ подробных гайдов по нейросетям

24 скидки от партнёров на различные сервисы

Это урок из миникурса

«Как разрабатывать что угодно с помощью вайб-кодинга»

Чтобы продолжить чтение, приобретите доступ к курсу или оформите подписку.

Подробнее о курсе

Уже есть аккаунт? Войти