• [ GEEKHERO:2021 ]
  • Категории
  • Files 42

Воистину гений

СТАТЬЯ ИЛИ СОН?
Готовим образ Docker для Flask приложения | GEEKHERO
root 26 августа 2022 г. 12:19 | обновлен 26 августа 2022 г. 12:36

Готовим образ Docker для Flask приложения

Иконка категории
В категории "Linux"

Все статьи связаны непосредственно с ОС Linux: разработка сайтов, поддержка серверов, утилиты и лайфхаки при работе с данной ОС.

Метки: linux, python, docker, compose, flask


Имеется готовый проект на Flask с базой SQLite, который должен перезапускаться каждые 4 часа и подтягивать (парсить) данные с конкретного веб-сайта. 

Данная статья описывает только процесс создания образа и публикацию на dockerhub с различными target-платформами, так как разработка ведется на ARM системе на MBA M1, а конечная платформа - облачный VPS, где будет размещаться данное приложение - AMD64.

Первым делом нам необходимо создать точку входа для нашего приложения, создадим файл wsgi.py, который будет обращаться к основному модулю main.py:
 

from main import app

if __name__ == "__main__":
    app.run()

Далее заходим в наш VENV и получаем список зависимостей с помощью команды:

pip freeze > requirements.txt

Далее создаем файл Dockerfile:

FROM python:3.8

WORKDIR /app
COPY . .

RUN pip install -r requirements.txt

ENTRYPOINT [ "python" ]
CMD [ "wsgi.py" ]

После создаем файл docker-compose.yaml:

version: "3.7"

services:
  main:
    build:
      context: ./
    ports:
      - 5000:5000

Далее собираем образ:

docker-compose build

После вешаем тег на образ:

docker tag exrates_main legeminus/exrates

Далее собираем под целевую платформу, в данном случае AMD64+ARM64:

docker buildx build --platform linux/amd64,linux/arm64 --push -t legeminus/exrates .

Наконец можем загрузить данный образ в DockerHub:

docker push legeminus/exrates

Ссылка на данный Docker образ

Источник материала: Мой Github

Поделиться записью


Похожие записи:

Card image cap
MikroTik 3G 4G LTE: Мобильный роутер – из LTE в PPP

В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik

Продолжить Чтение...
Card image cap
Запуск Django сайта на nginx + Gunicorn + SSL

Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.

Продолжить Чтение...
Card image cap
Собираем кластер на ESXI

Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование

Продолжить Чтение...
Категории
Обучение и подготовка (3)
Linux (15)
Телекоммуникации (12)
Программирование (2)
Обзоры на технику (1)
Виртуализация (1)
Web-разработка (5)
Администрирование Windows (0)

Последние записи
Быстро подключаемся к серверам по SSH из терминала
28 Фев 2023
Flask в Docker+Kuberenetes
28 Авг 2022
Готовим образ Docker для Flask приложения
26 Авг 2022

Популярные метки
Copyright 2019-2021  
Обратная связь