Szybki start: wdrażanie wystąpienia kontenera na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Docker
Użyj usługi Azure Container Instances, aby łatwo i szybko uruchamiać bezserwerowe kontenery Docker na platformie Azure. Wdróż w wystąpieniu kontenera na żądanie podczas tworzenia aplikacji natywnych dla chmury i chcesz bezproblemowo przełączać się z lokalnego programowania do wdrożenia w chmurze.
W tym przewodniku Szybki start użyjesz natywnych poleceń interfejsu wiersza polecenia platformy Docker do wdrożenia kontenera platformy Docker i udostępnienia jej aplikacji w usłudze Azure Container Instances. Ta funkcja jest włączona przez integrację między platformą Docker i platformą Azure. Kilka sekund po wykonaniu docker run
polecenia możesz przejść do aplikacji uruchomionej w kontenerze:
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
W tym przewodniku Szybki start potrzebujesz programu Docker Desktop w wersji 2.3.0.5 lub nowszej dostępnej dla systemu Windows lub macOS. Możesz też zainstalować interfejs wiersza polecenia integracji platformy Docker ACI dla systemu Linux.
Ważne
Nie wszystkie funkcje usługi Azure Container Instances są obsługiwane. Prześlij opinię na temat integracji platformy Docker-Azure, tworząc problem w repozytorium aci-integration-beta GitHub.
Tworzenie kontekstu platformy Azure
Aby użyć poleceń platformy Docker do uruchamiania kontenerów w usłudze Azure Container Instances, najpierw zaloguj się do platformy Azure:
docker login azure --tenant-id "[tenant ID]"
Przejdź do właściwości identyfikatora entra firmy Microsoft, aby znaleźć identyfikator dzierżawy.
Po wyświetleniu monitu wprowadź lub wybierz poświadczenia platformy Azure.
Utwórz kontekst ACI, uruchamiając polecenie docker context create aci
. Ten kontekst kojarzy platformę Docker z subskrypcją platformy Azure i grupą zasobów, aby można było tworzyć wystąpienia kontenerów i zarządzać nimi. Aby na przykład utworzyć kontekst o nazwie myacicontext:
docker context create aci myacicontext
Po wyświetleniu monitu wybierz identyfikator subskrypcji platformy Azure, a następnie wybierz istniejącą grupę zasobów lub utwórz nową grupę zasobów. Jeśli wybierzesz nową grupę zasobów, zostanie ona utworzona przy użyciu nazwy wygenerowanej przez system. Wystąpienia kontenerów platformy Azure, tak jak wszystkie zasoby platformy Azure, muszą zostać wdrożone w grupie zasobów. Grupy zasobów umożliwiają organizowanie powiązanych zasobów platformy Azure i zarządzanie nimi.
Uruchom polecenie docker context ls
, aby potwierdzić, że kontekst ACI został dodany do kontekstów platformy Docker:
docker context ls
Tworzenie kontenera
Po utworzeniu kontekstu platformy Docker można utworzyć kontener na platformie Azure. W tym przewodniku Szybki start użyjesz obrazu publicznego mcr.microsoft.com/azuredocs/aci-helloworld
. Ten obraz zawiera małą aplikację internetową napisaną w języku Node.js, która udostępnia statyczną stronę HTML.
Najpierw zmień kontekst usługi ACI. Wszystkie kolejne polecenia platformy Docker są uruchamiane w tym kontekście.
docker context use myacicontext
Uruchom następujące docker run
polecenie, aby utworzyć wystąpienie kontenera platformy Azure z portem 80 uwidocznione w Internecie:
docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld
Przykładowe dane wyjściowe pomyślnego wdrożenia:
[+] Running 2/2
⠿ hungry-kirch Created 5.1s
⠿ single--container--aci Done 11.3s
hungry-kirch
Uruchom polecenie docker ps
, aby uzyskać szczegółowe informacje o uruchomionym kontenerze, w tym o publicznym adresie IP:
docker ps
Przykładowe dane wyjściowe pokazują publiczny adres IP, w tym przypadku 52.230.225.232:
CONTAINER ID IMAGE COMMAND STATUS PORTS
hungry-kirch mcr.microsoft.com/azuredocs/aci-helloworld Running 52.230.225.232:80->80/tcp
Teraz przejdź do adresu IP w przeglądarce. Jeśli zostanie wyświetlona strona internetowa podobna do poniższej — gratulacje! Aplikacja działającą w kontenerze Docker została pomyślne wdrożona na platformie Azure.
Ściąganie dzienników kontenera
Jeśli trzeba rozwiązać problem z kontenerem lub z uruchomioną na nim aplikacją (lub po prostu wyświetlić dane wyjściowe), zacznij od wyświetlenia dzienników wystąpienia kontenera.
Na przykład uruchom docker logs
polecenie , aby wyświetlić dzienniki kontenera hungry-kirch w kontekście ACI:
docker logs hungry-kirch
W dziennikach kontenera powinny być widoczne żądania HTTP GET utworzone podczas przeglądania aplikacji w przeglądarce.
listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Czyszczenie zasobów
Po zakończeniu pracy z kontenerem uruchom polecenie docker rm
, aby go usunąć. To polecenie zatrzymuje i usuwa wystąpienie kontenera platformy Azure.
docker rm hungry-kirch
Następne kroki
W tym przewodniku Szybki start utworzono wystąpienie kontenera platformy Azure na podstawie obrazu publicznego przy użyciu integracji między platformą Docker i platformą Azure. Dowiedz się więcej o scenariuszach integracji w dokumentacji platformy Docker.
Możesz również użyć rozszerzenia Platformy Docker dla programu Visual Studio Code w celu zintegrowanego środowiska do tworzenia, uruchamiania kontenerów, obrazów i kontekstów oraz zarządzania nimi.
Aby używać narzędzi platformy Azure do tworzenia wystąpień kontenerów i zarządzania nimi, zobacz inne przewodniki Szybki start przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell, witryny Azure Portal i szablonu usługi Azure Resource Manager.
Jeśli chcesz używać narzędzia Docker Compose do definiowania i uruchamiania aplikacji wielokontenerowej lokalnie, a następnie przełączyć się do usługi Azure Container Instances, przejdź do samouczka.