Dela via


(INAKTUELL) Skapa containeravbildningar som ska användas med Azure Container Service

Tips

Den uppdaterade versionen av den här självstudien som använder Azure Kubernetes Service finns i Självstudie: Förbereda ett program för Azure Kubernetes Service (AKS).

Varning

Azure Container Service (ACS) är inaktuell. Inga nya funktioner läggs till i ACS. Alla API:er, portalen, CLI-kommandon och dokumentationen är markerade som inaktuella.

2017 införde vi Azure Kubernetes Service (AKS) för att förenkla hanteringen, distributionen och åtgärderna för Kubernetes. Om du använder Kubernetes-initieraren bör du migrera till AKS senast den 31 januari 2020. Kom igång genom att läsa om att migrera till Azure Kubernetes Service.

Mer information finns i utfasningsmeddelandet för Azure Container Service på Azure.com.

I den här självstudien, som är del ett av sju, förbereds ett program med flera container för användning i Kubernetes. Det här är några av stegen:

  • Klona programkällan från GitHub
  • Skapa en containeravbildning från programkällan
  • Testa programmet i en lokal Docker-miljö

När den är slutförd är följande program tillgängligt i din lokala utvecklingsmiljö.

Image of Kubernetes cluster on Azure

I efterföljande självstudier har behållaravbildningen laddats upp till ett Azure Container Registry och körs sedan i ett Azure-värdbaserat Kubernetes-kluster.

Innan du börjar

Den här självstudien förutsätter grundläggande kunskaper om grundläggande Docker-begrepp som containrar, containeravbildningar och grundläggande docker-kommandon. Om det behövs kan du läsa Get started with Docker (Komma igång med Docker) för att få en genomgång av grunden för containrar.

För att slutföra den här självstudien behöver du en Docker-utvecklingsmiljö. Docker innehåller paket som enkelt kan konfigurera Docker på en Mac-, Windows- eller Linux-dator.

Azure Cloud Shell inkluderar inte de Docker-komponenter som krävs för att slutföra stegen i den här självstudien. Därför rekommenderar vi att du använder en fullständig Docker-utvecklingsmiljö.

Hämta programkod

Exempelprogrammet som används i den här självstudien är en enkel röstningsapp. Programmet består av en webbkomponent på klientsidan och en Redis-instans på serversidan. Webbkomponenten paketeras i en anpassad containeravbildning. Redis-instansen använder en oförändrad avbildning från Docker Hub.

Använd git och ladda ned en kopia av programmet till utvecklingsmiljön.

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

Ändra katalogerna så att du arbetar från den klonade katalogen.

cd azure-voting-app-redis

Inuti katalogen finns programmets källkod, en förskapad Docker Compose-fil och en Kubernetes-manifestfil. De här filerna används i hela självstudien.

Skapa containeravbildningar

Docker Compose kan användas för att automatisera kompilering från containeravbildningar och distribution av program med flera containern.

Kör filen docker-compose.yml för att skapa containeravbildningen, ladda ned Redis-avbildningen och starta programmet.

docker-compose up -d

När kommandot har körts kan du använda kommandot docker images till att se de avbildningar som skapats.

docker images

Observera att tre avbildningar har laddats ned eller skapats. azure-vote-front-avbildningen innehåller programmet och använder nginx-flask-avbildningen som bas. redis-avbildningen används för att starta en Redis-instans.

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

Kör kommandot docker ps för att se de containrar som körs.

docker ps

Utdata:

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

Testa programmet lokalt

Gå till https://localhost:8080 om du vill se programmet som körs.

Image of Kubernetes cluster on Azure

Rensa resurser

Nu när programfunktionen har verifierats, kan containrarna som körs stoppas och tas bort. Ta inte bort containeravbildningarna. azure-vote-front-avbildningen överförs till en Azure Container Registry-instans i nästa självstudie.

Kör följande för att stoppa de containrar som körs.

docker-compose stop

Ta bort stoppade containrar och resurser med följande kommando.

docker-compose down

När du är klar har du en containeravbildning som innehåller programmet Azure Vote.

Nästa steg

I den här självstudien testades ett program och containeravbildningar skapades för programmet. Följande steg har slutförts:

  • Klona programkällan från GitHub
  • Skapade en containeravbildning från programkällan
  • Testade programmet i en lokal Docker-miljö

Fortsätt till nästa självstudie och lär dig om att lagra behållaravbildningar i ett Azure Container Registry.