Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
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.