Все статьи связаны непосредственно с ОС Linux: разработка сайтов, поддержка серверов, утилиты и лайфхаки при работе с данной ОС.
Имеется готовый проект на 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
В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik
Продолжить Чтение...Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.
Продолжить Чтение...Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование
Продолжить Чтение...