(DEPRECATO) Creare immagini del contenitore da usare con il servizio Azure Container

Suggerimento

Per la versione aggiornata di questa esercitazione che usa servizio Azure Kubernetes, vedere Esercitazione: Preparare un'applicazione per servizio Azure Kubernetes (servizio Azure Kubernetes).

Avviso

Il servizio Azure Container (ACS) è deprecato. Non saranno aggiunte nuove funzionalità al servizio Azure Container. Tutte le API, l'esperienza del portale, i comandi dell'interfaccia della riga di comando e la documentazione sono contrassegnate come deprecate.

Nel 2017 abbiamo presentato il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'agente di orchestrazione di Kubernetes, eseguire la migrazione al servizio Azure Kubernetes entro il 31 gennaio 2020. Per iniziare, vedere eseguire la migrazione al servizio Azure Kubernetes.

Per altre informazioni, vedere l'annuncio di deprecazione del servizio Azure Container su Azure.com.

In questa esercitazione, parte uno di sette, si prepara un'applicazione multi-contenitore per l'uso in Kubernetes. I passaggi completati comprendono:

  • Clonazione dell'origine applicazione da GitHub
  • Creazione di un'immagine del contenitore dall'origine applicazione
  • Test dell'applicazione in un ambiente Docker locale

Al termine, l'applicazione seguente sarà accessibile nell'ambiente di sviluppo locale.

Image of Kubernetes cluster on Azure

Nelle esercitazioni successive, l'immagine del contenitore verrà caricata in un'istanza di Registro Azure Container e quindi eseguita in un cluster Kubernetes ospitato in Azure.

Prima di iniziare

Questa esercitazione presuppone una conoscenza di base dei concetti principali di Docker, come contenitori, immagini dei contenitore e comandi essenziali. Se necessario, vedere Introduzione a Docker per una panoramica sui concetti fondamentali relativi al contenitore.

Per completare questa esercitazione è necessario un ambiente di sviluppo Docker. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema Mac, Windows o Linux.

Azure Cloud Shell non include i componenti di Docker necessari per completare ogni passaggio di questa esercitazione. È pertanto consigliabile usare un ambiente di sviluppo completo di Docker.

Ottenere il codice dell'applicazione

L'applicazione di esempio utilizzata in questa esercitazione è un'app di voto base. L'applicazione è costituita da un componente Web front-end e un'istanza Redis back-end. Viene creato un pacchetto del componente Web in un'immagine del contenitore personalizzata. L'istanza di Redis usa un'immagine non modificata dell'hub Docker.

Usare git per scaricare una copia dell'applicazione per l'ambiente di sviluppo.

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Cambiare directory in modo da usare la directory clonata.

cd azure-voting-app-redis

All'interno della directory sono disponibili il codice sorgente dell'applicazione, un file Docker Compose creato in precedenza e un file manifesto Kubernetes. Questi file vengono usati in tutta la serie di esercitazioni.

Creare immagini del contenitore

Docker Compose può essere usato per automatizzare la creazione di immagini del contenitore e la distribuzione di applicazioni multi-contenitore.

Eseguire il file docker-compose.yml per creare l'immagine del contenitore, scaricare l'immagine Redis e avviare l'applicazione.

docker-compose up -d

Al termine usare il comando docker images per vedere le immagini create.

docker images

Si noti che sono state scaricate o create tre immagini. L'immagine azure-vote-front contiene l'applicazione e usa l'immagine nginx-flask come base. L'immagine redis viene usata per avviare un'istanza di Redis.

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

Eseguire il comando docker ps per visualizzare i contenitori in esecuzione.

docker ps

Output:

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

Testare l'applicazione in locale

Passare a https://localhost:8080 per vedere l'applicazione in esecuzione.

Image of Kubernetes cluster on Azure

Pulire le risorse

Ora che le funzionalità dell'applicazione sono state verificate, i contenitori in esecuzione possono essere arrestati e rimossi. Non eliminare le immagini del contenitore. L'immagine azure-vote-front verrà caricata in un'istanza di Registro Azure Container nella prossima esercitazione.

Eseguire questo comando per arrestare i contenitori in esecuzione.

docker-compose stop

Eliminare le risorse e i contenitori arrestati con il comando seguente.

docker-compose down

Al termine si avrà un'immagine del contenitore con l'applicazione Azure Vote.

Passaggi successivi

In questa esercitazione è stata testata un'applicazione e sono state create le immagini del contenitore per l'applicazione stessa. Sono stati completati i passaggi seguenti:

  • Clonazione dell'origine applicazione da GitHub
  • Creazione di un'immagine del contenitore dall'origine applicazione
  • Test dell'applicazione in un ambiente Docker locale

Passare alla prossima esercitazione per apprendere informazioni sull'archiviazione delle immagini del contenitore in Registro Azure Container.