volochay c8d9717f5b
Publish Docker image to GHCR / build-and-push (push) Failing after 47s
Обновить .github/workflows/docker-publish.yml
2026-07-22 14:00:57 +00:00
2025-02-01 23:51:03 +03:00
2025-02-01 21:57:19 +03:00
2025-02-01 23:51:45 +03:00
2025-02-02 01:36:27 +03:00

Создание собственных Docker образов

lol

Приложение на Python

В данном репозитории было написано небольшое веб приложение на базе языка программирования Python3.10 и фреймворка FastAPI. Приложение считывает json файл dataset.json, в котором находится список русскоязычных анекдотов и шуток. При получении GET запроса от клиента по эндпоинту /get_joke, программа случайным образом выбирает из списка шутку и возвращает клиенту в формате {"joke": "Русалка села на шпагат"}. Запуск Python приложение, осуществляется через функционал FastAPI, а именно через:

fastapi run main.py

Dockerfile

Dockerfile — это текстовый файл с набором инструкций для автоматической сборки Docker-образов. В нем описываются шаги по созданию среды для приложения: выбор базового образа, установка зависимостей, копирование файлов, настройка переменных окружения и запуск команд. В данном проекте Dockerfile имеет следующий вид:

FROM python:3.10-alpine # За основу Docker образа берется готовый образ с предустановленным python3.10 и ОС Alpine

WORKDIR /app # Определяем рабочую папку приложения. Если её ранее не существовало, то она будет создана, и будет определена как текущая

COPY ./app . # Копируем всё содержимое папки /app репозитория и перемещаем в текущую папку внутри образа (т.е. внутрь папки /app, что мы определили выше)

RUN python3 -m venv venv # Создаем виртуально окружение
RUN source venv/bin/activate # Активируем виртуальное окружение
RUN pip3 install -r requirements.txt # Устанавливаем все зависимости
RUN pip3 install "fastapi[all]" 

EXPOSE 8000 # Открываем порт 8000 для работы веб-приложения

CMD ["fastapi", "run", "--port", "8000", "main.py"] # Запускаем веб-приложение

Сборка Docker образа

Для сборки Docker образа необходимо выполнить команду:

sudo docker build -t (название_образа) .

Образ начнёт собираться, и по завершению всех инструкций, вам необходимо будет лишь запустить готовый Docker образ:

sudo docker run --rm --network host (название_образа)
S
Description
Тренировочный репозиторий, в котором представлено небольшое веб-приложение на Python (fastapi), которое в дальнейшем будет обернуто в Docker образ для его последующего деплоя
Readme
13 MiB
Main Resleas
Latest
2026-07-22 13:39:05 +00:00
Languages
Python 70.5%
Dockerfile 29.5%