Берем пример с моей реализации приложений в домашнем каталоге kali
Чтобы запускать Flask-приложения, расположенные в локальных подкаталогах /home/kali, через Docker, следуйте этой инструкции. Она подходит для всех приложений, находящихся в подкаталогах, таких как /home/kali/project_alpha, /home/kali/dashboard_beta (как реальный пример)
Шаг 1. Создайте Dockerfile и requirements.txtДля каждого приложения создайте два файла:
- Dockerfile — описывает, как создать Docker-образ.
- requirements.txt — список зависимостей приложения (например, Flask==3.0.3).
Пример Dockerfile:
Код |
---|
FROM python:3.9-slim |
Замените <номер_порта> на порт, используемый приложением, например, 8000 или 8001.
Шаг 2. Сборка Docker-образаПерейдите в директорию приложения (например, /home/kali/project_alpha) и выполните команду для сборки Docker-образа.
Команда для сборки Docker-образа:
Код |
---|
cd /home/kali/<папка_приложения> |
Пример для приложения в папке /home/kali/project_alpha:
Код |
---|
cd /home/kali/project_alpha |
Шаг 3. Запуск Docker-контейнера
После успешной сборки Docker-образа, запустите контейнер, пробросив порты и смонтировав файлы приложения, чтобы можно было редактировать их на хосте.
Команда для запуска Docker-контейнера:
Код |
---|
sudo docker run -d -p <порт_хоста>:<порт_контейнера> --name <название_контейнера> --restart=always \\\\ |
Пример для приложения на порту 8000 в папке /home/kali/project_alpha:
Код |
---|
sudo docker run -d -p 8000:8000 --name project_alpha --restart=always \\\\ |
Шаг 4. Убедитесь, что Flask-приложение настроено на прослушивание всех интерфейсов
В файле app.py вашего Flask-приложения убедитесь, что оно настроено на прослушивание всех сетевых интерфейсов:
Код |
---|
if __name__ == "__main__": |
Замените <номер_порта> на нужный порт, например, 8000 или 8001.
Повторите для других приложенийДля каждого приложения в /home/kali выполните эти же шаги:
- Создайте Dockerfile и requirements.txt.
- Соберите Docker-образ.
- Запустите Docker-контейнер с соответствующими портами.
Не забываем проверить настройки фаервола на наличие открытого нужного порта
Для того, чтобы оставлять комментарии, необходимо пройти авторизацию
Авторизоваться