← До списку лабораторних по Python
Повний опис / сценарій лабораторної:
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 образу у прод середовище.