← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 21: Базовий Docker образ для скрипта

Технологія: Python

Номер лабораторної: 21 · Рівень: middle

Тема: Python сервіс у Docker

Повний опис / сценарій лабораторної:

Meta: навчитися пакувати невеликий Python застосунок у Docker образ для запуску у будь якому середовищі.



Krok 1. Створити простий скрипт src/app/service21.py який друкує статус.

Komandi: cd ~/python_lab1/src; printf "import time

def main():
    while True:
        print("service21 is alive")
        time.sleep(5)

if __name__ == "__main__":
    main()
" > app/service21.py



Krok 2. Створити Dockerfile у корені проєкту.

Komandi: cd ..; printf "FROM python:3.11-slim
WORKDIR /app
COPY src /app/src
RUN pip install --no-cache-dir --upgrade pip
ENV PYTHONPATH=/app/src
CMD ["python", "-m", "app.service21"]
" > Dockerfile



Krok 3. Зібрати Docker образ.

Komанда: docker build -t python-lab21 .



Krok 4. Запустити контейнер з образом.

Komанда: docker run --rm python-lab21

Poyasnennya: у логах контейнера має зʼявлятися рядок service21 is alive.



Krok 5. Додати можливість керувати інтервалом через змінну середовища.

Poyasnennya: прочитати os.environ і перетворити на число.



Krok 6. Перебудувати образ і запустити з новою змінною.

Komanda: docker build -t python-lab21:v2 .; docker run --rm -e INTERVAL=2 python-lab21:v2



Krok 7. Продумати як передавати конфіг через volume або config файл.



Krok 8. Занотувати розмір образу і можливі оптимізації через slim базу або multi stage build.



Krok 9. Обговорити інтеграцію такого образу у Kubernetes або іншу оркестрацію.



Krok 10. Mini zvit.

Zavdannya: опиши мінімальний набір перевірок який ти робитимеш перед деплоєм Python образу у прод середовище.