(PRZESTARZAŁE) Tworzenie obrazów kontenera do użycia z usługą Azure Container Service

Porada

Aby uzyskać zaktualizowaną wersję tego samouczka korzystającego z Azure Kubernetes Service, zobacz Samouczek: przygotowywanie aplikacji do Azure Kubernetes Service (AKS).

Ostrzeżenie

Usługa Azure Container Service (ACS) stała się przestarzała. Do usługi ACS nie są już dodawane żadne nowe funkcje. Wszystkie interfejsy API, środowisko portalu, polecenia interfejsu wiersza polecenia i dokumentacja są oznaczone jako przestarzałe.

W 2017 r. wprowadziliśmy usługę Azure Kubernetes Service (AKS), aby uprościć wdrażanie i operacje platformy Kubernetes oraz zarządzanie nią. Jeśli używasz orkiestratora platformy Kubernetes, przeprowadź migrację do usługi AKS do 31 stycznia 2020 r. Aby rozpocząć pracę, zapoznaj się z artykułem dotyczącym migracji do usługi Azure Kubernetes Service.

Aby uzyskać więcej informacji, zobacz ogłoszenie o zakończeniu obsługi usługi Azure Container Service w witrynie Azure.com.

Ten samouczek, część 1 z 7, obejmuje przygotowanie aplikacji z wieloma kontenerami do użycia w usłudze Kubernetes. Wykonano następujące czynności:

  • Klonowanie źródła aplikacji z usługi GitHub
  • Tworzenie obrazu kontenera ze źródła aplikacji
  • Testowanie aplikacji w lokalnym środowisku usługi Docker

Po zakończeniu następująca aplikacja będzie dostępna w lokalnym środowisku programistycznym.

Image of Kubernetes cluster on Azure

W kolejnych samouczkach obraz kontenera zostanie przekazany do usługi Azure Container Registry, a następnie uruchomiony w klastrze Kubernetes hostowanym na platformie Azure.

Zanim rozpoczniesz

Ten samouczek zakłada, że masz podstawową wiedzę na temat bazowych koncepcji usługi Docker, takich jak kontenery, obrazy kontenerów i podstawowe polecenia usługi Docker. W razie potrzeby zapoznaj się z tematem Get started with Docker (Rozpoczynanie pracy z platformą Docker), aby uzyskać podstawowe informacje na temat kontenerów.

Do ukończenia tego samouczka konieczne będzie środowisko programowania Docker. Środowisko Docker zawiera pakiety, które umożliwiają łatwe konfigurowanie platformy Docker w systemie Mac, Windows lub Linux.

Usługa Azure Cloud Shell nie zawiera składników platformy Docker wymaganych do ukończenia każdego kroku w tym samouczku. Dlatego zalecamy używanie pełnego środowiska programistycznego usługi Docker.

Pobieranie kodu aplikacji

W tym samouczku jest używana przykładowa prosta aplikacja do głosowania. Ta aplikacja składa się ze składnika internetowego frontonu oraz działającego na zapleczu wystąpienia usługi Redis. Składnik internetowy znajduje się w pakiecie niestandardowego obrazu kontenera. Wystąpienie usługi Redis używa niezmodyfikowanego obrazu z usługi Docker Hub.

Użyj narzędzia git, aby pobrać kopię tej aplikacji do swojego środowiska projektowego.

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

Zmień katalogi, aby pracować w sklonowanym katalogu.

cd azure-voting-app-redis

W tym katalogu znajduje się kod źródłowy aplikacji, wstępnie utworzony plik redagowania usługi Docker i plik manifestu usługi Kubernetes. Te pliki są używane w całym zestawie samouczków.

Tworzenie obrazów kontenerów

Program Docker Compose umożliwia automatyzowanie tworzenia obrazów poza kontenerem i wdrażanie aplikacji wielokontenerowych.

Uruchom plik docker-compose.yml, aby utworzyć obraz kontenera, pobrać obraz usługi Redis i uruchomić aplikację.

docker-compose up -d

Po zakończeniu użyj polecenia docker images w celu wyświetlenia utworzonych obrazów.

docker images

Zwróć uwagę, że zostały pobrane lub utworzone trzy obrazy. Obraz azure-vote-front zawiera aplikację i używa obrazu nginx-flask jako podstawy. Obraz redis jest używany do uruchomienia wystąpienia usługi 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

Uruchom polecenie docker ps , aby wyświetlić uruchomione kontenery.

docker ps

Dane wyjściowe:

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

Testowanie aplikacji w środowisku lokalnym

Przejdź na adres https://localhost:8080, aby zobaczyć działającą aplikację.

Image of Kubernetes cluster on Azure

Czyszczenie zasobów

Teraz, po zweryfikowaniu funkcjonalności aplikacji, uruchomione kontenery można zatrzymać i usunąć. Nie należy usuwać obrazów kontenera. Obraz azure-vote-front zostanie przekazany do wystąpienia usługi Azure Container Registry w następnym samouczku.

Uruchom następujące polecenie, aby zatrzymać uruchomione kontenery.

docker-compose stop

Usuń zatrzymane kontenery i zasoby przy użyciu następującego polecenia.

docker-compose down

Po zakończeniu będzie dostępny obraz kontenera zawierający aplikację Azure Vote.

Następne kroki

W tym samouczku przetestowano aplikację i obrazy kontenera utworzone dla aplikacji. Wykonano następujące czynności:

  • Klonowanie źródła aplikacji z usługi GitHub
  • Tworzenie obrazu kontenera ze źródła aplikacji
  • Testowanie aplikacji w lokalnym środowisku usługi Docker

Przejdź do kolejnego samouczka, aby dowiedzieć się więcej o przechowywaniu obrazów kontenera w usłudze Azure Container Registry.