Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Tutorial ini menunjukkan kepada Anda cara membuat kontainer aplikasi web Python Flask atau FastAPI dan menyebarkannya ke Azure Container Apps. Azure Container Apps menggunakan teknologi kontainer Docker untuk menghosting gambar bawaan dan gambar kustom. Untuk informasi selengkapnya tentang menggunakan kontainer di Azure, lihat Membandingkan opsi kontainer Azure.
Dalam tutorial ini, Anda menggunakan Docker CLI dan Azure CLI untuk membuat gambar Docker dan menyebarkannya ke Azure Container Apps. Anda juga dapat menyebarkan dengan Visual Studio Code dan Ekstensi Alat Azure.
Untuk menyelesaikan tutorial ini, Anda perlu:
Akun Azure tempat Anda dapat menyebarkan aplikasi web ke Azure Container Apps. (An Ruang kerja Azure Container Registry dan Log Analytics dibuat untuk Anda dalam proses.)
Azure CLI, Docker, dan Docker CLI diinstal di lingkungan lokal Anda.
Di lingkungan lokal Anda, dapatkan kodenya.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart.git
Tambahkan Dockerfile untuk menginstruksikan Docker cara membuat gambar. Dockerfile menentukan penggunaan Gunicorn, server web tingkat produksi yang meneruskan permintaan web ke kerangka kerja Flask dan FastAPI. Perintah ENTRYPOINT dan CMD menginstruksikan Gunicorn untuk menangani permintaan objek aplikasi.
# syntax=docker/dockerfile:1
FROM python:3.11
WORKDIR /code
COPY requirements.txt .
RUN pip3 install -r requirements.txt
COPY . .
EXPOSE 50505
ENTRYPOINT ["gunicorn", "app:app"]
50505
digunakan untuk port kontainer (internal) dalam contoh ini, tetapi Anda dapat menggunakan port gratis apa pun.
Periksa file requirements.txt untuk memastikan file berisi gunicorn
.
Flask==2.2.2
gunicorn
Werkzeug==2.2.2
Tambahkan file .dockerignore untuk mengecualikan file yang tidak perlu dari gambar.
.git*
**/*.pyc
.venv/
Gunicorn dapat dikonfigurasi dengan file gunicorn.conf.py . Saat file gunicorn.conf.py terletak di direktori yang sama tempat gunicorn
dijalankan, Anda tidak perlu menentukan lokasinya dalam ENTRYPOINT
atau CMD
instruksi Dockerfile. Untuk informasi selengkapnya tentang menentukan file konfigurasi, lihat Pengaturan gunicorn.
Dalam tutorial ini, file konfigurasi yang disarankan mengonfigurasi GUnicorn untuk meningkatkan jumlah pekerjanya berdasarkan jumlah inti CPU yang tersedia. Untuk informasi selengkapnya tentang pengaturan file gunicorn.conf.py , lihat Konfigurasi gunicorn.
# Gunicorn configuration file
import multiprocessing
max_requests = 1000
max_requests_jitter = 50
log_file = "-"
bind = "0.0.0.0:50505"
workers = (multiprocessing.cpu_count() * 2) + 1
threads = workers
timeout = 120
Buat gambar secara lokal.
Jalankan gambar secara lokal dalam kontainer Docker.
docker run --detach --publish 5000:50505 flask-demo
http://localhost:5000
Buka URL di browser Anda untuk melihat aplikasi web berjalan secara lokal.
Opsi --detach
menjalankan kontainer di latar belakang. Opsi --publish
memetakan port kontainer ke port pada host. Port host (eksternal) adalah yang pertama dalam pasangan, dan port kontainer (internal) adalah yang kedua. Untuk informasi selengkapnya, lihat Referensi eksekusi Docker.
Untuk menyebarkan gambar Docker ke Azure Container Apps, gunakan perintah az containerapp up . (Perintah berikut ditampilkan untuk shell Bash. Ubah karakter kelanjutan (\
) yang sesuai untuk shell lain.)
az containerapp up \
--resource-group web-flask-aca-rg --name web-aca-app \
--ingress external --target-port 50505 --source .
Saat penyebaran selesai, Anda memiliki grup sumber daya dengan sumber daya berikut di dalamnya:
URL untuk aplikasi yang disebarkan berada dalam output az containerapp up
perintah. Buka URL di browser Anda untuk melihat aplikasi web yang berjalan di Azure. Bentuk URL akan terlihat seperti berikut https://web-aca-app.<generated-text>.<location-info>.azurecontainerapps.io
, di mana <generated-text>
dan <location-info>
unik untuk penyebaran Anda.
Setelah membuat pembaruan kode, Anda dapat menjalankan perintah sebelumnya az containerapp up
lagi, yang membangun kembali gambar dan menyebarkannya kembali ke Azure Container Apps. Menjalankan perintah lagi memperhitungkan bahwa grup sumber daya dan aplikasi sudah ada, dan hanya memperbarui aplikasi kontainer.
Dalam skenario pembaruan yang lebih kompleks, Anda dapat menyebarkan ulang dengan perintah az acr build dan az containerapp update bersama-sama untuk memperbarui aplikasi kontainer.
Semua sumber daya Azure yang dibuat dalam tutorial ini berada dalam grup sumber daya yang sama. Menghapus grup sumber daya akan menghapus semua sumber daya dalam grup sumber daya dan merupakan cara tercepat untuk menghapus semua sumber daya Azure yang digunakan untuk aplikasi Anda.
Untuk menghapus sumber daya, gunakan perintah az group delete .
Anda juga dapat menghapus grup di portal Azure atau di Visual Studio Code dan Ekstensi Alat Azure.
Untuk informasi selengkapnya, lihat sumber daya berikut:
Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangPelatihan
Modul
Menyebarkan dan jalankan aplikasi web dalam kontainer dengan Azure App Service - Training
Temukan cara membuat gambar Docker dan menyimpannya di Azure Container Registry, lalu gunakan Azure App Service untuk menyebarkan aplikasi web yang didasarkan pada gambar tersebut.
Sertifikasi
Bersertifikat Microsoft: Azure Developer Associate - Certifications
Bangun solusi end-to-end di Microsoft Azure untuk membuat Azure Functions, menerapkan dan mengelola aplikasi web, mengembangkan solusi yang menggunakan penyimpanan Azure, dan banyak lagi.