Ćwiczenie — kompilowanie obrazów kontenerów przy użyciu zadań usługi Azure Container Registry

Ukończone

Tworzenie obrazu kontenera przy użyciu zadań usługi Azure Container Registry

Aby podać instrukcje kompilacji, należy użyć pliku Dockerfile. Zadania usługi Azure Container Registry umożliwiają ponowne użycie dowolnego pliku Dockerfile używanego obecnie w środowisku. Dotyczy to również kompilacji wieloetapowych. W tym przykładzie utworzysz nowy plik Dockerfile, który kompiluje aplikację Node.js.

  1. Otwórz edytor usługi Cloud Shell i utwórz nowy plik o nazwie Dockerfile przy użyciu code polecenia .

    code Dockerfile
    
  2. Wklej następującą zawartość pliku Dockerfile do pliku.

    Ten plik Dockerfile używa obrazu jako obrazu podstawowego node:9-alpine . Następnie dodaje pliki aplikacji Node.js do obrazu i instaluje zależności aplikacji. Na koniec konfiguruje kontener tak, aby obsługiwał aplikację na porcie 80 za pośrednictwem instrukcji EXPOSE .

    FROM    node:9-alpine
    ADD     https://raw.githubusercontent.com/Azure-Samples/acr-build-helloworld-node/master/package.json /
    ADD     https://raw.githubusercontent.com/Azure-Samples/acr-build-helloworld-node/master/server.js /
    RUN     npm install
    EXPOSE  80
    CMD     ["node", "server.js"]
    
  3. Zapisz plik i zamknij edytor.

  4. Skompiluj obraz kontenera z pliku Dockerfile przy użyciu az acr build polecenia .

    Uwaga

    Upewnij się, że dodano kropkę (.) na końcu polecenia. Reprezentuje katalog źródłowy zawierający plik Dockerfile. Ponieważ nie określiliśmy nazwy pliku przy użyciu parametru --file , polecenie wyszukuje plik o nazwie Dockerfile w naszym bieżącym katalogu.

    az acr build --registry $ACR_NAME --image helloacrtasks:v1 .
    
  5. Sprawdź, czy obraz został utworzony i zapisany w rejestrze az acr repository list przy użyciu polecenia .

    az acr repository list --name $ACR_NAME --output table
    

    Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    Result
    -------------
    helloacrtasks