Menggunakan dukungan Docker untuk menyebarkan aplikasi kontainer dalam bahasa apa pun

Azure Developer CLI (azd) mendukung Docker sebagai bahasa, memungkinkan Anda menentukan layanan yang dibuat dan disebarkan menggunakan Dockerfile. Jika aplikasi Anda ditulis dalam bahasa yang azd tidak memiliki dukungan bawaan untuk — seperti Go, Rust, Ruby, PHP, atau Kotlin — Anda dapat menggunakan Docker sebagai bahasa untuk membangun dan menyebarkannya ke Azure. Dengan menentukan Docker sebagai bahasa, Anda mendapatkan kontrol penuh atas proses kontainerisasi, menjadikannya ideal untuk:

  • Go, Rust, Ruby, PHP, Kotlin, dan bahasa lain tanpa dukungan bawaan azd
  • Aplikasi Polyglot (misalnya, layanan yang menggunakan Python dan Node.js)
  • Skenario di mana Anda ingin mengurangi dependensi lokal untuk menjalankan templat
  • Beban kerja dengan OS kustom atau persyaratan runtime
  • Memigrasikan proyek berbasis Docker yang ada ke Azure

Misalnya, jika Anda memiliki aplikasi yang ditulis di Go dan ingin menyebarkannya ke Azure Container Apps dengan azd, Anda dapat menentukan Dockerfile untuk layanan Go Anda dan mengonfigurasi azd untuk menggunakannya.

Mengonfigurasi Docker sebagai bahasa di azure.yaml

Untuk menggunakan docker untuk aplikasi Go, aplikasi Rust, atau layanan lainnya, atur language properti ke docker dalam file Anda azure.yaml dan tentukan jalur ke Dockerfile Anda:

services:
  myservice:
    project: ./src/myservice
    language: docker
    docker:
      path: ./Dockerfile

Dengan konfigurasi ini, azd menggunakan Dockerfile yang ditentukan untuk membangun dan menyebarkan layanan Anda. Pendekatan ini berfungsi untuk bahasa atau runtime apa pun yang dapat ditampung.

Contoh skenario

Templat hello-azd pemula menunjukkan cara menggunakan Docker sebagai bahasa dalam kombinasi dengan build jarak jauh. azure.yaml Dalam file, templat menetapkan language: docker dan menentukan remoteBuild: true:

metadata:
  template: hello-azd-dotnet
name: azd-starter
services:
  web:
    project: ./src
    language: docker
    host: containerapp
    docker:
      path: ./Dockerfile
      remoteBuild: true

Konfigurasi ini memungkinkan pengguna untuk menjalankan templat dan membangun gambar kontainer di Azure Container Registry, bahkan jika mereka tidak menginstal .NET atau Docker secara lokal. Proses build ditangani sepenuhnya di cloud, sehingga memudahkan pengembang untuk memulai tanpa menyiapkan dependensi lokal atau alat build.

Dengan memanfaatkan build jarak jauh, hello-azd templat memastikan pengalaman yang konsisten dan efisien untuk semua pengguna, terlepas dari lingkungan lokal mereka.

Langkah selanjutnya