Uso di un'immagine Docker personalizzata per App Web di Azure in Linux

Nota

App Web di Azure su Linux è attualmente disponibile in anteprima pubblica e supporta l'esecuzione di app Web in modo nativo su Linux.

Il servizio app fornisce stack di applicazioni predefiniti in Linux con il supporto per versioni specifiche, ad esempio PHP 7.0 e Node.js 4.5. Il servizio app in Linux usa i contenitori Docker per ospitare questi stack di applicazioni predefiniti. È anche possibile usare un'immagine Docker personalizzata per distribuire l'app Web in uno stack di applicazioni non ancora definito in Azure. Le immagini Docker personalizzate possono essere ospitate in un repository Docker pubblico o privato.

Procedura: Impostare un'immagine Docker personalizzata per un'app Web

È possibile impostare l'immagine Docker personalizzata per app Web sia nuove che esistenti. Quando si crea un'app Web in Linux nel portale di Azure, fare clic su Configura contenitore per impostare un'immagine Docker personalizzata:

Immagine Docker personalizzata per una nuova app Web in Linux

Procedura: usare un'immagine Docker personalizzata dall'hub Docker

Per usare un'immagine Docker personalizzata dall'hub Docker:

  1. Nel portale di Azure trovare l'app Web in Linux, quindi in Impostazioni fare clic su Contenitore Docker.

  2. Selezionare Docker Hub (Hub Docker) come Origine immagine, quindi fare clic su Pubblico o Privato e digitare il nome Immagine e tag facoltativo, ad esempio node:4.5. Il Comando Avvia viene impostato automaticamente in base al contenuto definito nel file di immagine Docker, ma è possibile impostare i propri comandi.

    Configurare l'immagine del repository pubblico dell'hub Docker

    Quando l'immagine proviene da un repository privato, è anche necessario immettere le credenziali dell'hub Docker (Nome utente di accesso e Password) per il repository dell'hub Docker privato.

    Configurare l'immagine del repository privato dell'hub Docker

  3. Dopo avere configurato il contenitore, fare clic su Salva.

Come usare un'immagine Docker da un registro di sistema di immagini privato

Per usare un'immagine Docker personalizzata proveniente da un registro di sistema di immagini privato:

  1. Nel portale di Azure trovare l'app Web in Linux, quindi in Impostazioni fare clic su Contenitore Docker.

  2. Fare clic su Registro di sistema privato come Origine immagine. Immettere il Image and optional tag name (Nome tag opzionale e immagine), l'URL server del registro di sistema privato, insieme alle credenziali (nome utente di accesso e password). Fare clic su Save.

    Configurare l'immagine Docker dal registro di sistema privato

Procedura: Impostare la porta usata dall'immagine Docker

Quando si usa un'immagine Docker personalizzata per l'app Web, è possibile usare la variabile di ambiente WEBSITES_PORT nel file Docker, che viene aggiunta al contenitore generato. Considerare l'esempio seguente di file Docker per un'applicazione Ruby:

FROM ruby:2.2.0
RUN mkdir /app
WORKDIR /app
ADD . /app
RUN bundle install
CMD bundle exec puma config.ru -p WEBSITES_PORT -e production

Nell'ultima riga del comando è possibile osservare che la variabile di ambiente WEBSITES_PORT viene passata in fase di esecuzione. Tenere presente che la distinzione tra maiuscole e minuscole è importante nei comandi.

In precedenza, la piattaforma usava l'impostazione dell'app PORT. È previsto che l'uso di questa impostazione dell'app venga deprecato per passare all'uso esclusivo di WEBSITES_PORT.

Quando si usa un'immagine Docker esistente compilata da un altro utente, potrebbe essere necessario specificare una porta diversa dalla porta 80 per l'immagine. Per configurare la porta, aggiungere un'impostazione di applicazione denominata WEBSITES_PORT con il valore come illustrato di seguito:

Configurare l'impostazione app PORT per l'immagine Docker personalizzata

Procedura: Usare di nuovo un'immagine predefinita

Per passare da un'immagine personalizzata a un'immagine predefinita:

  1. Nel portale di Azure trovare l'app Web in Linux, quindi in Impostazioni fare clic su Servizio app.

  2. Selezionare lo Stack di runtime da usare per l'immagine predefinita, quindi fare clic su Salva.

Configurare l'immagine Docker predefinita

Risoluzione dei problemi

Quando non è possibile avviare l'applicazione con l'immagine Docker personalizzata, controllare i log di Docker nella directory LogFiles. È possibile accedere a questa directory tramite il sito SCM o tramite FTP. Per registrare stdout e stderr dal contenitore, è necessario abilitare Registrazione del contenitore Docker in Log di diagnostica.

Abilitazione della registrazione

Uso di Kudu per visualizzare i log di Docker

È possibile accedere al sito SCM da Strumenti avanzati nel menu Strumenti di sviluppo.

Passaggi successivi

Fare clic sui collegamenti seguenti per iniziare a usare App Web in Linux.

Pubblicare domande e dubbi nel forum.