Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj usługi Azure Container Instances, aby łatwo i szybko uruchamiać bezserwerowe kontenery Docker na platformie Azure. Wdrażaj aplikację na żądanie w instancji kontenera, gdy nie potrzebujesz pełnej platformy orkiestracji kontenerów, np. usługi Azure Kubernetes Service.
W tym szybkim starcie użyjesz interfejsu wiersza polecenia Azure do wdrożenia izolowanego kontenera Dockera i udostępnienia aplikacji przy użyciu w pełni kwalifikowanej nazwy domeny (FQDN). Kilka sekund po wykonaniu pojedynczego polecenia wdrożenia możesz przejść do aplikacji uruchomionej w kontenerze:
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dla Bash w Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
Ten Szybki start wymaga wersji 2.0.55 lub nowszej Azure CLI. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Ostrzeżenie
Najlepsze rozwiązanie: poświadczenia użytkownika przekazywane za pośrednictwem interfejsu wiersza polecenia (CLI) są przechowywane jako zwykły tekst w zapleczu. Przechowywanie poświadczeń w postaci zwykłego tekstu jest zagrożeniem bezpieczeństwa; Firma Microsoft zaleca klientom przechowywanie poświadczeń użytkownika w zmiennych środowiskowych interfejsu wiersza polecenia, aby upewnić się, że są szyfrowane/przekształcane podczas przechowywania w zapleczu.
Tworzenie grupy zasobów
Wystąpienia kontenerów w platformie Azure, podobnie jak wszystkie zasoby tej platformy, muszą zostać wdrożone w grupie zasobów. Grupy zasobów umożliwiają organizowanie powiązanych zasobów platformy Azure i zarządzanie nimi.
Najpierw utwórz grupę zasobów o nazwie myResourceGroup w lokalizacji eastus za pomocą następującego polecenia az group create:
az group create --name myResourceGroup --location eastus
Tworzenie kontenera
Teraz, gdy masz już grupę zasobów, możesz uruchomić kontener na platformie Azure. Aby utworzyć wystąpienie kontenera przy użyciu interfejsu wiersza polecenia platformy Azure, podaj nazwę grupy zasobów, nazwę wystąpienia kontenera i obraz kontenera Docker w poleceniu az container create. W tym przewodniku szybkiego startu użyjesz publicznego obrazu 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.
Możesz uwidocznić swoje kontenery w Internecie, określając co najmniej jeden port do otworzenia, etykietę nazwy DNS lub obie te informacje. W tym szybkim przewodniku wdrożysz kontener z etykietą nazwy DNS, aby aplikacja internetowa była publicznie dostępna.
Wykonaj polecenie podobne do takiego poniżej, aby uruchomić wystąpienie kontenera. Ustaw wartość unikatową --dns-name-label
w regionie świadczenia usługi Azure, w którym tworzysz wystąpienie. Jeśli zostanie wyświetlony komunikat o błędzie „Etykieta nazwy DNS nie jest dostępna”, spróbuj użyć innej etykiety nazwy DNS.
az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80
W ciągu kilku sekund powinna zostać wyświetlona odpowiedź z interfejsu wiersza polecenia platformy Azure wskazująca, że wdrożenie zostało ukończone. Sprawdź jego stan za pomocą polecenia az container show:
az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
Po uruchomieniu polecenia zostanie wyświetlona w pełni kwalifikowana nazwa domeny (FQDN) kontenera i stan jego aprowizacji.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
Jeśli kontener ProvisioningState
ma wartość Powodzenie, przejdź do nazwy FQDN w przeglądarce. Jeśli zostanie wyświetlona strona internetowa podobna do poniższej — gratulacje! Pomyślnie wdrożono aplikację działającą w kontenerze platformy Docker na platformie Azure.
Jeśli początkowo aplikacja nie jest widoczna, być może trzeba poczekać kilka sekund na zakończenie propagowania systemu DNS, a następnie spróbować odświeżyć stronę przeglądarki.
Pobierz dzienniki 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.
Pobierz dzienniki wystąpienia kontenera za pomocą polecenia az container logs:
az container logs --resource-group myResourceGroup --name mycontainer
Dane wyjściowe pokazują dzienniki kontenera i powinny zawierać żądania HTTP GET utworzone podczas przeglądania aplikacji w przeglądarce.
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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"
Dołączanie strumieni wyjściowych
Oprócz wyświetlania dzienników, można dołączyć lokalne strumienie standardowego wyjścia i standardowego błędu do odpowiednich strumieni kontenera.
Najpierw wykonaj polecenie az container attach, aby dołączyć konsolę lokalną do strumieni danych wyjściowych kontenera:
az container attach --resource-group myResourceGroup --name mycontainer
Po dołączeniu odśwież przeglądarkę kilka razy, aby wygenerować więcej danych wyjściowych. Po zakończeniu odłącz swoją konsolę kombinacją klawiszy Control+C
. Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container
Start streaming logs:
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019: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 - - [21/Mar/2019:17:47:01 +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.56 - - [21/Mar/2019:17:47:12 +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 możesz go usunąć przy użyciu polecenia az container delete:
az container delete --resource-group myResourceGroup --name mycontainer
Aby sprawdzić, czy kontener został usunięty, wykonaj polecenie az container list :
az container list --resource-group myResourceGroup --output table
Kontener mycontainer nie powinien być wyświetlany w danych wyjściowych polecenia. Jeśli nie ma innych kontenerów w danej grupie zasobów, żadne dane wyjściowe nie zostaną wyświetlone.
Gdy skończysz pracę z grupą zasobów myResourceGroup i wszystkimi zawartymi w niej zasobami, usuń ją za pomocą polecenia az group delete:
az group delete --name myResourceGroup
Następne kroki
W tym szybkim starcie utworzono wystąpienie kontenera platformy Azure przy użyciu publicznego obrazu Microsoft. Jeśli chcesz skompilować obraz kontenera i wdrożyć go za pomocą prywatnej usługi Azure Container Registry, przejdź do samouczka dotyczącego usługi Azure Container Instances.
Aby wypróbować opcje uruchamiania kontenerów w systemie orkiestracji na platformie Azure, zobacz samouczki wprowadzające Azure Kubernetes Service (AKS).