Creare immagini del contenitore da usare con il servizio contenitore di AzureCreate container images to be used with Azure Container Service

Avviso

Si sta visualizzando la documentazione per la versione precedente del servizio contenitore di Azure.You are viewing documentation for the old version of the Azure Container Service. Il servizio contenitore di Azure è in fase di aggiornamento con l'aggiunta di nuove opzioni di distribuzione, funzionalità di gestione migliorate e vantaggi economici in Kubernetes in Azure.Azure Container Service (AKS) is being updated to add new deployment options, enhanced management capabilities, and cost benefit to Kubernetes on Azure. Per iniziare a usare tali funzionalità in anteprima, vedere AKS documentation (Documentazione del servizio contenitore di Azure).Visit the AKS documentation to start working with these preview features.

In questa esercitazione, parte uno di sette, si prepara un'applicazione multi-contenitore per l'uso in Kubernetes.In this tutorial, part one of seven, a multi-container application is prepared for use in Kubernetes. I passaggi completati comprendono:Steps completed include:

  • Clonazione dell'origine applicazione da GitHubCloning application source from GitHub
  • Creazione di un'immagine del contenitore dall'origine applicazioneCreating a container image from the application source
  • Test dell'applicazione in un ambiente Docker localeTesting the application in a local Docker environment

Al termine, l'applicazione seguente sarà accessibile nell'ambiente di sviluppo locale.Once completed, the following application is accessible in your local development environment.

Immagine del cluster Kubernetes in Azure

Nelle esercitazioni successive, l'immagine del contenitore verrà caricata in un'istanza di Registro contenitori di Azure e quindi eseguita in un cluster Kubernetes ospitato in Azure.In subsequent tutorials, the container image is uploaded to an Azure Container Registry, and then run in an Azure hosted Kubernetes cluster.

Prima di iniziareBefore you begin

Questa esercitazione presuppone una conoscenza di base dei concetti principali di Docker, come contenitori, immagini dei contenitore e comandi essenziali.This tutorial assumes a basic understanding of core Docker concepts such as containers, container images, and basic docker commands. Se necessario, vedere Introduzione a Docker per una panoramica sui concetti fondamentali relativi al contenitore.If needed, see Get started with Docker for a primer on container basics.

Per completare questa esercitazione è necessario un ambiente di sviluppo Docker.To complete this tutorial, you need a Docker development environment. Docker offre pacchetti che consentono di configurare facilmente Docker in qualsiasi sistema Mac, Windows o Linux.Docker provides packages that easily configure Docker on any Mac, Windows, or Linux system.

Azure Cloud Shell non include i componenti di Docker necessari per completare ogni passaggio di questa esercitazione.Azure Cloud Shell does not include the Docker components required to complete every step this tutorial. È pertanto consigliabile usare un ambiente di sviluppo completo di Docker.Therefore, we recommend using a full Docker development environment.

Ottenere il codice dell'applicazioneGet application code

L'applicazione di esempio utilizzata in questa esercitazione è un'app di voto base.The sample application used in this tutorial is a basic voting app. L'applicazione è costituita da un componente Web front-end e un'istanza Redis back-end.The application consists of a front-end web component and a back-end Redis instance. Viene creato un pacchetto del componente Web in un'immagine del contenitore personalizzata.The web component is packaged into a custom container image. L'istanza di Redis usa un'immagine non modificata dell'hub Docker.The Redis instance uses an unmodified image from Docker Hub.

Usare git per scaricare una copia dell'applicazione per l'ambiente di sviluppo.Use git to download a copy of the application to your development environment.

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

Cambiare directory in modo da usare la directory clonata.Change directories so that you are working from the cloned directory.

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.Inside the directory is the application source code, a pre-created Docker compose file, and a Kubernetes manifest file. Questi file vengono usati in tutta la serie di esercitazioni.These files are used throughout the tutorial set.

Creare immagini del contenitoreCreate container images

Docker Compose può essere usato per automatizzare la creazione di immagini del contenitore e la distribuzione di applicazioni multi-contenitore.Docker Compose can be used to automate the build out of container images and the deployment of multi-container applications.

Eseguire il file docker-compose.yml per creare l'immagine del contenitore, scaricare l'immagine Redis e avviare l'applicazione.Run the docker-compose.yml file to create the container image, download the Redis image, and start the application.

docker-compose up -d

Al termine usare il comando docker images per vedere le immagini create.When completed, use the docker images command to see the created images.

docker images

Si noti che sono state scaricate o create tre immagini.Notice that three images have been downloaded or created. L'immagine azure-vote-front contiene l'applicazione e usa l'immagine nginx-flask come base.The azure-vote-front image contains the application and uses the nginx-flask image as a base. L'immagine redis viene usata per avviare un'istanza di Redis.The redis image is used to start a Redis instance.

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 vedere i contenitori in esecuzione.Run the docker ps command to see the running containers.

docker ps

Output: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 localeTest application locally

Passare a http://localhost:8080 per vedere l'applicazione in esecuzione.Browse to http://localhost:8080 to see the running application.

Immagine del cluster Kubernetes in Azure

Pulire le risorseClean up resources

Ora che le funzionalità dell'applicazione sono state verificate, i contenitori in esecuzione possono essere arrestati e rimossi.Now that application functionality has been validated, the running containers can be stopped and removed. Non eliminare le immagini del contenitore.Do not delete the container images. L'immagine azure-vote-front verrà caricata in un'istanza del Registro contenitori di Azure nella prossima esercitazione.The azure-vote-front image is uploaded to an Azure Container Registry instance in the next tutorial.

Eseguire questo comando per arrestare i contenitori in esecuzione.Run the following to stop the running containers.

docker-compose stop

Eliminare le risorse e i contenitori arrestati con il comando seguente.Delete the stopped containers and resources with the following command.

docker-compose down

Al termine si avrà un'immagine del contenitore con l'applicazione Azure Vote.At completion, you have a container image that contains the Azure Vote application.

Passaggi successiviNext steps

In questa esercitazione è stata testata un'applicazione e sono state create le immagini del contenitore per l'applicazione stessa.In this tutorial, an application was tested and container images created for the application. Sono stati completati i passaggi seguenti:The following steps were completed:

  • Clonazione dell'origine applicazione da GitHubCloning the application source from GitHub
  • Creazione di un'immagine del contenitore dall'origine applicazioneCreated a container image from application source
  • Test dell'applicazione in un ambiente Docker localeTested the application in a local Docker environment

Passare alla prossima esercitazione per apprendere informazioni sull'archiviazione delle immagini del contenitore in un Registro contenitori di Azure.Advance to the next tutorial to learn about storing container images in an Azure Container Registry.