Kurz: Vytváření imagí kontejneru v clusteru Service Fabric s Linuxem

Tento kurz je součástí série kurzů, která demonstruje používání kontejnerů v clusteru Service Fabric s Linuxem. V tomto kurzu je pro použití s prostředkem Service Fabric připravena vícekontejnerová aplikace. V následujících kurzech jsou tyto image použity jako součást aplikace Service Fabric. Co se v tomto kurzu naučíte:

  • Klonovat zdroj aplikace z GitHubu
  • Vytvořit image kontejneru ze zdroje aplikace
  • Nasadit instanci služby Azure Container Registry (ACR)
  • Označit image kontejneru pro službu ACR
  • Odeslat image do služby ACR

V této sérii kurzů se naučíte:

Požadavky

  • Vývojové prostředí Linux nastavené pro Service Fabric. Při nastavování prostředí Linux postupujte podle pokynů zde.
  • Tento kurz vyžaduje použití Azure CLI verze 2.0.4 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.
  • Navíc se vyžaduje, abyste měli k dispozici předplatné Azure. Další informace o bezplatné zkušební verzi najdete zde.

Získání kódu aplikace

Ukázkovou aplikací používanou v tomto kurzu je hlasovací aplikace. Aplikace se skládá z front-end webové součásti a back-end instance Redis. Součásti jsou sbaleny do imagí kontejneru.

Pomocí gitu si stáhněte kopii aplikace do vývojového prostředí.

git clone https://github.com/Azure-Samples/service-fabric-containers.git

cd service-fabric-containers/Linux/container-tutorial/

Řešení obsahuje dvě složky a soubor docker-compose.yml. Složka azure-vote obsahuje front-end službu Python spolu se souborem Dockerfile sloužícím k sestavení image. Adresář Voting obsahuje balíček aplikace Service Fabric, který je nasazený do clusteru. Tyto adresáře obsahují prostředky potřebné pro tento kurz.

Vytváření imagí kontejneru

V adresáři azure-vote vytvořte image pro front-end webovou komponentu spuštěním následujícího příkazu. Tento příkaz používá k sestavení image soubor Dockerfile v tomto adresáři.

docker build -t azure-vote-front .

Poznámka

Pokud se zobrazí oznámení o odepření oprávnění, postupujte podle této dokumentace, která popisuje práci s Dockerem bez příkazu sudo.

Zpracování tohoto příkazu může chvíli trvat, protože je třeba načíst všechny potřebné závislosti z centra Dockeru. Po dokončení použijte příkaz docker images k zobrazení image azure-vote-front , kterou jste právě vytvořili.

docker images

Nasazení služby Azure Container Registry

Nejprve spusťte příkaz az login a přihlaste se ke svému účtu Azure.

az login

Pak pomocí příkazu az account zvolte předplatné pro vytvoření registru kontejneru Azure. Místo subscription_id> musíte zadat ID předplatného <Azure.

az account set --subscription <subscription_id>

Pokud chcete nasadit službu Azure Container Registry, nejprve potřebujete skupinu prostředků. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Vytvořte skupinu prostředků pomocí příkazu az group create. V tomto příkladu se vytvoří skupina prostředků s názvem myResourceGroup v oblasti westus.

az group create --name <myResourceGroup> --location westus

Vytvořte registr kontejneru Azure pomocí příkazu az acr create . Nahraďte <acrName> názvem registru kontejneru, který chcete vytvořit v rámci svého předplatného. Tento název smí obsahovat jen alfanumerické znaky a musí být jedinečný.

az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true

V celé zbývající části tohoto kurzu používáme položku „acrName“ jako zástupný symbol pro název registru kontejneru, který jste zvolili. Poznamenejte si tuto hodnotu.

Přihlášení k registru kontejneru

Před nasdílením imagí do instance služby ACR se přihlaste k instanci služby ACR. Dokončete operaci pomocí příkazu az acr login. Uveďte jedinečný název zadaný pro registr kontejneru při jeho vytvoření.

az acr login --name <acrName>

Příkaz po dokončení vrátí zprávu Login Succeeded (Přihlášení proběhlo úspěšně).

Označování imagí kontejneru

Každá image kontejneru musí být označena názvem loginServer registru. Tato značka se používá pro směrování při nahrávání imagí kontejneru do registru imagí.

Seznam aktuálních imagí můžete zobrazit pomocí příkazu docker images.

docker images

Výstup:

REPOSITORY                   TAG                 IMAGE ID            CREATED              SIZE
azure-vote-front             latest              052c549a75bf        About a minute ago   913MB

Pokud chcete zjistit název loginServer, spusťte následující příkaz:

az acr show --name <acrName> --query loginServer --output table

Výstupem je tabulka s následujícími výsledky. Výsledek se použije pro označení vaší image azure-vote-front před jejím nahráním do registru kontejneru v dalším kroku.

Result
------------------
<acrName>.azurecr.io

Nyní, označte image azure-vote-front názvem loginServer registru kontejneru. Na konec názvu image také přidejte řetězec :v1. Tato značka označuje verzi image.

docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1

Po označení operaci ověřte spuštěním příkazu docker images.

Výstup:

REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
azure-vote-front                       latest              052c549a75bf        23 minutes ago      913MB
<acrName>.azurecr.io/azure-vote-front  v1                  052c549a75bf        23 minutes ago      913MB

Nahrávání imagí do registru

Nahrajte image azure-voice-front do registru.

Podle následujícího příkladu nahraďte název loginServer služby ACR názvem loginServer ze svého prostředí.

docker push <acrName>.azurecr.io/azure-vote-front:v1

Dokončení příkazů docker push trvá několik minut.

Výpis imagí v registru

Pokud chcete vrátit seznam imagí, které byly nahrány do vašeho registru kontejneru Azure, použijte příkaz az acr repository list. Aktualizujte příkaz s použitím názvu instance služby ACR.

az acr repository list --name <acrName> --output table

Výstup:

Result
----------------
azure-vote-front

Na konci kurzu byla image kontejneru uložena v privátní instanci služby Azure Container Registry. Tato image bude nasazena ze služby ACR do clusteru Service Fabric v následných kurzech.

Další kroky

V tomto kurzu se z GitHubu nabrala aplikace a vytvořily se image kontejnerů a nasdílely je do registru. Dokončili jste následující kroky:

  • Klonovat zdroj aplikace z GitHubu
  • Vytvořit image kontejneru ze zdroje aplikace
  • Nasadit instanci služby Azure Container Registry (ACR)
  • Označit image kontejneru pro službu ACR
  • Odeslat image do služby ACR

Po přechodu k dalšímu kurzu se dozvíte o balení kontejnerů do aplikace Service Fabric pomocí Yeomanu.