Python Flask sa Docker

Python Flask Sa Docker



Sa tutorial na ito, matututunan natin kung paano maglagay ng isang application ng Python Flask gamit ang Docker.

Ang Containerization ay isang epic na feature na nagbibigay-daan sa aming mga developer na i-package ang isang application kasama ang mga kinakailangang dependency sa isang unit. Pagkatapos ay maaari naming ilipat ang lalagyan at i-deploy ang application sa mga kapaligiran nang hindi na kailangang mag-alala tungkol sa pagiging tugma.

Ano ang Flask?

Ang Flask ay isang minimalistic at magaan na micro web framework para sa Python. Nagbibigay ito ng mahahalagang tampok at mga aklatan na kinakailangan upang bumuo ng magaan na web application gamit ang wikang Python.







Sinusunod ng Flask ang Web Server Gateway Interface o WSGI na pamantayan na nagbibigay-daan sa amin na isama ang isang minimalistic na disenyo na may flexible patter na maaaring humawak sa HTTP request at iba pang feature. Halimbawa, sinusuportahan ng Flask ang mga tampok sa web gaya ng pagruruta, mga database, at higit pa.



Mga kinakailangan:

Upang sundin kasama ang code at mga utos na ibinigay sa tutorial na ito, tiyaking mayroon kang mga sumusunod na tool:



  1. Naka-install na Python interpreter sa iyong makina (inirerekomenda ang bersyon 3.11 at mas bago)
  2. Naka-install na Docker engine sa host machine (inirerekomenda ang bersyon 23 at mas mataas)
  3. Isang text editor o IDE na gusto mo

Sa ibinigay na mga kinakailangan, maaari tayong magpatuloy sa tutorial na ito.





Lumikha ng Flask Application

Tulad ng maaari mong hulaan, ang unang hakbang ay ang paglikha ng Python application na nais naming lalagyan. Para sa aming kaso, ipinapakita namin ito sa isang minimalistic na app na nagpi-print ng 'hello world'.

Lumikha ng bagong direktoryo upang iimbak ang source code para sa iyong proyekto at lumikha ng Python file na pinangalanang “app.py”.



I-edit ang “app.py” gamit ang iyong paboritong text editor o IDE at idagdag ang code para sa iyong application tulad ng sumusunod:

mula sa prasko angkat Prasko

app = Prasko ( __pangalan__ )
@ app. ruta ( '/' )
def hello_world ( ) :
bumalik '

Kumusta, Mundo!

'

Lumikha ng Dockerfile

Susunod, kailangan naming tukuyin ang mga tagubilin na nagpapahintulot sa amin na i-package ang application bilang isang imahe ng Docker. Ginagamit namin ang Dockerfile na naglalaman ng lahat ng mga tagubilin at tool para i-setup ang imahe.

Sa parehong direktoryo bilang 'hello.py', lumikha ng isang bagong file na tinatawag na 'Dockerfile' na walang extension. Patakbuhin ang sumusunod na command:

$ touch Dockerfile

I-edit ang file at idagdag ang code tulad ng sumusunod:

Gamitin ang opisyal na imahe ng Python bilang batayang imahe.

MULA sa python: 3.12 -rc-payat
WORKDIR /app
KOPYA . /app
# I-install ang Flask
RUN pip install --no-cache- ikaw -r mga kinakailangan. txt
# Ilantad ang port 5000 para sa Flask app
EXPOSE 5000
# patakbuhin ang Flask application
CMD [ 'python' , 'app.py' ]

Ang nakaraang Dockerfile ay gumaganap ng mga sumusunod na operasyon:

  • Gumagamit ng opisyal na Python 3.12 slim na imahe bilang batayang imahe
  • Itinatakda ang gumaganang direktoryo sa loob ng container sa “/app”
  • Kinokopya ang mga nilalaman ng direktoryo ng proyekto sa lalagyan
  • Nag-i-install ng Flask at anumang iba pang dependency sa pamamagitan ng pagpapatakbo ng “pip install” gamit ang “requirements.txt” file
  • Inilalantad ang port 5000 para sa Flask application
  • Tinutukoy ang command para patakbuhin ang Flask application

Tiyakin na ang 'requirements.txt' na file ay umiiral sa direktoryo ng proyekto at idagdag ang mga nilalaman ng file tulad ng ipinapakita sa sumusunod:

Prasko == 2.3.3

Sa kasong ito, tinukoy namin na gusto naming i-install ang Flask na bersyon 2.3.3.

Buuin ang Docker Image

Ngayon na handa na ang Flask application at Dockerfile, maaari tayong magpatuloy at bumuo ng imahe gamit ang sumusunod na command:

docker build -t flask-docker-app .

Tiyakin na ikaw ay nasa direktoryo ng proyekto bago patakbuhin ang nakaraang utos. Maaari mong palitan ang flask-docker-app ng pangalan na nais mong italaga sa iyong larawan.

Patakbuhin ang Docker Container

Gamit ang imahe ng Docker na binuo, maaari nating patakbuhin ang lalagyan batay sa imahe gamit ang command na 'docker run' tulad ng sumusunod:

tumakbo sa pantalan -p 5000 : 5000 flask-docker-app

Dapat itong lumikha ng isang lalagyan at imapa ang port 5000 mula sa lalagyan patungo sa port 5000 sa host system.

Kapag naisakatuparan, buksan ang browser at mag-navigate sa http://localhost:5000 .

Dapat mong makita ang 'Hello, World!' mensahe mula sa Flask application.

Konklusyon

Sa tutorial na ito, natutunan mo kung paano maglagay ng isang simpleng Python Flask application gamit ang Docker.