Kelalang Python dalam Docker

Kelalang Python Dalam Docker



Dalam tutorial ini, kita akan belajar cara menyimpan aplikasi Flask Python menggunakan Docker.

Containerization ialah ciri epik yang membolehkan kami pembangun membungkus aplikasi bersama-sama dengan kebergantungan yang diperlukan ke dalam satu unit. Kami kemudiannya boleh mengalihkan bekas dan menggunakan aplikasi merentas persekitaran tanpa perlu risau tentang keserasian.

Apa Itu Flask?

Flask ialah rangka kerja web mikro minimalis dan ringan untuk Python. Ia menyediakan ciri dan perpustakaan penting yang diperlukan untuk membina aplikasi web ringan menggunakan bahasa Python.







Flask mengikut Antara Muka Gerbang Pelayan Web atau standard WSGI yang membolehkan kami menggabungkan reka bentuk minimalis dengan corak fleksibel yang boleh mengendalikan permintaan HTTP dan ciri lain. Contohnya, Flask menyokong ciri web seperti penghalaan, pangkalan data dan banyak lagi.



Prasyarat:

Untuk mengikuti bersama kod dan arahan yang disediakan dalam tutorial ini, pastikan anda mempunyai alatan berikut:



  1. Jurubahasa Python yang dipasang pada mesin anda (versi 3.11 dan ke atas disyorkan)
  2. Enjin Docker dipasang pada mesin hos (versi 23 dan ke atas disyorkan)
  3. Penyunting teks atau IDE pilihan anda

Dengan syarat yang diberikan dipenuhi, kita boleh meneruskan tutorial ini.





Cipta Aplikasi Flask

Seperti yang anda boleh meneka, langkah pertama ialah mencipta aplikasi Python yang ingin kami isikan. Untuk kes kami, kami menunjukkannya dengan apl minimalis yang mencetak 'hello world'.

Cipta direktori baharu untuk menyimpan kod sumber untuk projek anda dan buat fail Python bernama “app.py”.



Edit “app.py” dengan editor teks atau IDE kegemaran anda dan tambahkan kod untuk aplikasi anda seperti berikut:

daripada kelalang import Kelalang

aplikasi = Kelalang ( __nama__ )
@ aplikasi. laluan ( '/' )
def Hai dunia ( ) :
kembali '

Helo, Dunia!

'

Buat fail Docker

Seterusnya, kita perlu menentukan arahan yang membolehkan kita membungkus aplikasi sebagai imej Docker. Kami menggunakan Dockerfile yang mengandungi semua arahan dan alatan untuk menyediakan imej.

Dalam direktori yang sama seperti 'hello.py', buat fail baharu yang dipanggil 'Dockerfile' tanpa sambungan. Jalankan arahan berikut:

$ sentuh Dockerfile

Edit fail dan tambah kod seperti berikut:

Gunakan imej Python rasmi sebagai imej asas.

DARI python: 3.12 -rc-langsing
WORKDIR /apl
SALINAN . /aplikasi
# Pasang Flask
RUN pip install --no-cache- awak -r keperluan. txt
# Dedahkan port 5000 untuk apl Flask
DEDAHKAN 5000
# jalankan aplikasi Flask
CMD [ 'python' , 'app.py' ]

Fail Docker sebelumnya melakukan operasi berikut:

  • Menggunakan imej langsing Python 3.12 rasmi sebagai imej asas
  • Tetapkan direktori kerja di dalam bekas kepada '/app'
  • Menyalin kandungan direktori projek ke dalam bekas
  • Memasang Flask dan sebarang kebergantungan lain dengan menjalankan 'pemasangan pip' menggunakan fail 'requirements.txt'.
  • Mendedahkan port 5000 untuk aplikasi Flask
  • Mentakrifkan arahan untuk menjalankan aplikasi Flask

Pastikan bahawa fail 'requirements.txt' wujud dalam direktori projek dan tambah kandungan fail seperti yang ditunjukkan dalam yang berikut:

Kelalang == 2.3.3

Dalam kes ini, kami menyatakan bahawa kami ingin memasang Flask versi 2.3.3.

Bina Imej Docker

Sekarang setelah kami mempunyai aplikasi Flask dan Dockerfile sedia, kami boleh meneruskan dan membina imej dengan arahan berikut:

docker build -t flask-docker-app .

Pastikan anda berada dalam direktori projek sebelum menjalankan arahan sebelumnya. Anda boleh menggantikan aplikasi flask-docker dengan nama yang ingin anda tetapkan pada imej anda.

Jalankan Kontena Docker

Dengan imej Docker dibina, kita boleh menjalankan bekas berdasarkan imej menggunakan arahan 'docker run' seperti berikut:

larian buruh pelabuhan -p 5000 : 5000 flask-docker-app

Ini harus mencipta bekas dan memetakan port 5000 daripada bekas ke port 5000 pada sistem hos.

Setelah dilaksanakan, buka penyemak imbas dan navigasi ke http://localhost:5000 .

Anda sepatutnya melihat 'Hello, World!' mesej daripada aplikasi Flask.

Kesimpulan

Dalam tutorial ini, anda mempelajari cara untuk menyimpan aplikasi Flask Python yang mudah menggunakan Docker.