Condividi tramite


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

Suggerimento

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

Avvertimento

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

Nel 2017 è stato introdotto il servizio Azure Kubernetes per semplificare la gestione, la distribuzione e le operazioni di Kubernetes. Se si usa l'orchestratore Kubernetes, eseguire la migrazione ad AKS 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, prima parte di sette, un'applicazione a più contenitori viene preparata per l'uso in Kubernetes. I passaggi completati includono:

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

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

Immagine del cluster Kubernetes in Azure

Nelle esercitazioni successive l'immagine del contenitore viene caricata in un 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, ad esempio contenitori, immagini del contenitore e comandi Docker di base. Se necessario, vedere Introduzione a Docker per informazioni di base sui contenitori.

Per completare questa esercitazione, è necessario un ambiente di sviluppo Docker. Docker offre pacchetti che configurano facilmente Docker in qualsiasi Mac, Windowso sistema linux.

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

Ottenere il codice dell'applicazione

L'applicazione di esempio usata in questa esercitazione è un'app di voto di base. L'applicazione è costituita da un componente Web front-end e da un'istanza di Redis back-end. Il componente Web viene inserito in un'immagine del contenitore personalizzata. L'istanza di Redis usa un'immagine non modificata dall'hub Docker.

Usare Git per scaricare una copia dell'applicazione nell'ambiente di sviluppo.

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

Modificare le directory in modo che si stia lavorando dalla directory clonata.

cd azure-voting-app-redis

All'interno della directory è presente il codice sorgente dell'applicazione, un file docker compose creato in pre-creazione e un file manifesto Kubernetes. Questi file vengono usati in tutto il set di esercitazioni.

Creare immagini del contenitore

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

Eseguire il docker-compose.yml file 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 visualizzare 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

Risultato:

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 visualizzare l'applicazione in esecuzione.

Immagine del cluster Kubernetes in Azure

Pulire le risorse

Ora che la funzionalità dell'applicazione è stata convalidata, è possibile arrestare e rimuovere i contenitori in esecuzione. Non eliminare le immagini del contenitore. L'immagine azure-vote-front viene caricata in un'istanza di Registro Azure Container nell'esercitazione successiva.

Eseguire il comando seguente per fermare contenitori in esecuzione.

docker-compose stop

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

docker-compose down

Al termine, è disponibile un'immagine del contenitore che contiene l'applicazione Azure Vote.

Passaggi successivi

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

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

Passare all'esercitazione successiva per imparare a memorizzare le immagini del container in un Registro di Container di Azure.