Контейнеризація Python Flask додатку за допомогою Podman

У цій статті ми розглянемо процес контейнеризації Python Flask додатку за допомогою Podman, надаючи покрокову інструкцію для тих, хто тільки починає цей процес.

pic

Podman — це контейнерний рантайм, сумісний з OCI, який працює без демонів. Він розроблений так, щоб бути сумісним з Docker, що полегшує перехід між цими двома інструментами.

Podman є частиною RedHat Linux, але його також можна встановити на інших дистрибутивах. Майже всі популярні дистрибутиви Linux включають Podman у свої стандартні репозиторії.

У цьому прикладі я використовую WSL на Windows машині з Fedora Linux 38.

  1. Встановіть Podman, Python версії 3.11, pip3 і Flask фреймворк.
dnf install podman  
dnf install python3.11  
dnf install python3-pip  
pip3 install flask
  1. Створіть Python програму ‘flaskapp.py’. Flask — це маленький і легкий Python веб-фреймворк, який надає корисні інструменти і можливості для полегшення створення веб-додатків.
vi flaskapp.py
from flask import Flask  
app = Flask(__name__)  

@app.route('/')  
def hello():  
 return "Hello, World!"  

if __name__ == "__main__":  
 app.run(host='0.0.0.0',port=5000,debug=True)
  1. Створіть текстовий файл ‘requirements.txt’, який міститиме всі елементи для встановлення через pip3, такі як бібліотеки, модулі та пакети, необхідні в проєкті. У цьому випадку це лише один пакет.
vi requirements.txt
Flask==3.1.0
  1. Створіть Dockerfile за допомогою команди:
vi Dockerfile

Dockerfile — це текстовий документ, який містить усі команди, які користувач може викликати на командному рядку для створення образу. Зміст буде таким:

FROM python:3.11-slim-buster  

WORKDIR /app  

COPY requirements.txt requirements.txt  

RUN pip3 install -r requirements.txt  

COPY . .  

EXPOSE 5000  

ENTRYPOINT ["python"]  

CMD ["flaskapp.py"]
  1. Створіть обліковий запис в одному з популярних репозиторіїв образів, таких як quay.io від Red Hat, що є безпечним, приватним реєстром, який будує, сканує та обслуговує контейнерні образи в масштабах.

Увійдіть в свій обліковий запис і створіть репозиторій, в який буде завантажено образ. Після цього увійдіть в свій обліковий запис через CLI, використовуючи своє ім’я користувача та пароль.

podman login quay.io --verbose
  1. Створіть образ.
podman build -t quay.io/sd2590/testrepo1/flaskapp:latest .
  1. Завантажте образ у репозиторій.
podman push quay.io/sd2590/testrepo1/flaskapp:latest

pic

Ось і все! Тепер ви можете витягнути образ і запустити контейнер.

podman pull quay.io/sd2590/testrepo1/flaskapp:latest  
podman images  
podman run -p 5000:5000 -d quay.io/sd2590/testrepo1/flaskapp

pic

Перевірте, чи працює контейнер

Дякую за прочитання!

Перекладено з: Containerization of Python Flask app using Podman

Leave a Reply

Your email address will not be published. Required fields are marked *