Condividi tramite


Supporto di Docker come linguaggio

L'interfaccia della riga di comando per sviluppatori di Azure (azd) supporta Docker come linguaggio, consentendo di definire i servizi compilati e distribuiti usando un Dockerfile. Specificando Docker come linguaggio, si ottiene il controllo completo sul processo di containerizzazione, rendendolo ideale per:

  • App compilate con lingue non supportate direttamente da azd
  • Applicazioni polyglot (app che usano più linguaggi di programmazione)
  • Scenari in cui si vogliono ridurre le dipendenze locali per eseguire il modello
  • Carichi di lavoro con requisiti personalizzati per il sistema operativo o il runtime
  • Migrazione di progetti basati su Docker esistenti in Azure

Ad esempio, se si ha un'app scritta in Go o un servizio che usa sia Python che Node.js, è possibile usare un Dockerfile personalizzato per definire l'ambiente di compilazione e di runtime.

Configurare Docker come linguaggio

Per configurare Docker come lingua nel azure.yaml file, impostare la language proprietà su docker e specificare il percorso del Dockerfile. Esempio:

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

Con questa configurazione, azd usa il Dockerfile specificato per compilare e distribuire il servizio, offrendo la massima flessibilità nel processo di compilazione.

Scenario di esempio

Il hello-azd modello di avvio illustra come usare Docker come linguaggio in combinazione con compilazioni remote. azure.yaml Nel file il modello imposta language: docker e specifica remoteBuild: true:

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

Questa configurazione consente agli utenti di eseguire il modello e compilare l'immagine del contenitore in Registro Azure Container, anche se non hanno .NET o Docker installato in locale. Il processo di compilazione viene gestito interamente nel cloud, semplificando l'avvio degli sviluppatori senza configurare dipendenze locali o strumenti di compilazione.

Sfruttando le compilazioni remote, il hello-azd modello garantisce un'esperienza coerente e semplificata per tutti gli utenti, indipendentemente dall'ambiente locale.

Passaggi successivi