(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.
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.
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.