Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia wystąpienia kontenera możesz opcjonalnie określić polecenie, aby zastąpić domyślną instrukcję wiersza poleceń wstawioną do obrazu kontenera. To zachowanie jest podobne do argumentu wiersza polecenia --entrypoint dla docker run.
Podobnie jak ustawianie zmiennych środowiskowych dla wystąpień kontenera, określenie początkowego wiersza polecenia jest przydatne w przypadku zadań wsadowych, w których należy dynamicznie przygotować każdy kontener z konfiguracją specyficzną dla zadania.
Wskazówki dotyczące wiersza polecenia
Domyślnie wiersz polecenia określa pojedynczy proces uruchamiany bez powłoki w kontenerze. Na przykład wiersz polecenia może uruchamiać skrypt języka Python lub plik wykonywalny. Proces może określać dodatkowe parametry lub argumenty.
Aby wykonać wiele poleceń, rozpocznij wiersz polecenia, ustawiając środowisko powłoki obsługiwane w systemie operacyjnym kontenera. Przykłady:
System operacyjny Domyślna powłoka Ubuntu /bin/bashAlpine /bin/shWindows cmdPostępuj zgodnie z konwencjami powłoki, aby połączyć wiele poleceń do uruchomienia w sekwencji.
W zależności od konfiguracji kontenera, może być konieczne podanie pełnej ścieżki do programu wykonywalnego lub argumentów w wierszu polecenia.
Ustal odpowiednią politykę ponownego uruchamiania dla instancji kontenera, w zależności od tego, czy wiersz polecenia określa zadanie długotrwałe, czy jednorazowe. Na przykład polityka ponownego uruchomienia
NeverlubOnFailurejest zalecana dla jednorazowego zadania.Jeśli potrzebujesz informacji o domyślnym punkcie wejścia ustawionym na obrazie kontenera, użyj polecenia docker image inspect .
Składnia wiersza polecenia
Składnia wiersza polecenia różni się w zależności od interfejsu API platformy Azure lub narzędzia używanego do tworzenia wystąpień. Jeśli określisz środowisko powłoki, należy również obserwować konwencje składni poleceń powłoki.
Polecenie az container create: Przekaż ciąg z parametrem
--command-line. Przykład:--command-line "python myscript.py arg1 arg2").Polecenie cmdlet programu Azure PowerShell New-AzContainerGroup : przekaż ciąg z parametrem
-Command. Przykład:-Command "echo hello".Witryna Azure Portal: we właściwości Command override konfiguracji kontenera podaj rozdzielaną przecinkami listę ciągów bez cudzysłowów. Przykład:
python, myscript.py, arg1, arg2).Szablon usługi Resource Manager lub plik YAML albo jeden z zestawów SDK platformy Azure: określ właściwość wiersza polecenia jako tablicę ciągów. Przykład: tablica
["python", "myscript.py", "arg1", "arg2"]JSON w szablonie usługi Resource Manager.Jeśli znasz składnię pliku Dockerfile , ten format jest podobny do postaci exec instrukcji CMD.
Przykłady
| Azure CLI (Interfejs wiersza polecenia) | Portal | Szablon | |
|---|---|---|---|
| Jedno polecenie | --command-line "python myscript.py arg1 arg2" |
Zastąpienie polecenia: python, myscript.py, arg1, arg2 |
"command": ["python", "myscript.py", "arg1", "arg2"] |
| Wiele poleceń | --command-line "/bin/bash -c 'mkdir test; touch test/myfile; tail -f /dev/null'" |
Zastąpienie polecenia:/bin/bash, -c, mkdir test; touch test/myfile; tail -f /dev/null |
"command": ["/bin/bash", "-c", "mkdir test; touch test/myfile; tail -f /dev/null"] |
Przykład interfejsu wiersza polecenia platformy Azure
Na przykład zmodyfikuj zachowanie obrazu kontenera microsoft/aci-wordcount, który analizuje tekst w hamletie Szekspira, aby znaleźć najczęściej występujące wyrazy. Zamiast analizować hamlet, można ustawić wiersz polecenia wskazujący inne źródło tekstu.
Aby wyświetlić dane wyjściowe kontenera microsoft/aci-wordcount podczas analizowania domyślnego tekstu, uruchom go za pomocą następującego polecenia az container create . Nie określono wiersza polecenia uruchamiania, więc zostanie uruchomione domyślne polecenie kontenera. Na potrzeby ilustracji w tym przykładzie ustawia zmienne środowiskowe , aby znaleźć trzy pierwsze wyrazy, które mają co najmniej pięć liter:
az container create \
--resource-group myResourceGroup \
--name mycontainer1 \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--environment-variables NumWords=3 MinLength=5 \
--restart-policy OnFailure
Gdy stan kontenera jest pokazany jako Zakończone (użyj az container show, aby sprawdzić stan), wyświetl logi za pomocą az container logs, aby zobaczyć dane wyjściowe.
az container logs --resource-group myResourceGroup --name mycontainer1
[('HAMLET', 386), ('HORATIO', 127), ('CLAUDIUS', 120)]
Teraz skonfiguruj drugi przykładowy kontener do analizowania innego tekstu, określając inny wiersz polecenia. Skrypt języka Python wykonywany przez kontener, wordcount.py, akceptuje adres URL jako argument i przetwarza zawartość tej strony zamiast domyślnej.
Aby na przykład określić trzy pierwsze wyrazy, które mają co najmniej pięć liter w Romeo i Julii:
az container create \
--resource-group myResourceGroup \
--name mycontainer2 \
--image mcr.microsoft.com/azuredocs/aci-wordcount:latest \
--restart-policy OnFailure \
--environment-variables NumWords=3 MinLength=5 \
--command-line "python wordcount.py http://shakespeare.mit.edu/romeo_juliet/full.html"
Ponownie po zakończeniu kontenera wyświetl dane wyjściowe, wyświetlając dzienniki kontenera:
az container logs --resource-group myResourceGroup --name mycontainer2
[('ROMEO', 177), ('JULIET', 134), ('CAPULET', 119)]
Następne kroki
Scenariusze oparte na zadaniach, takie jak przetwarzanie wsadowe dużego zestawu danych z kilkoma kontenerami, mogą korzystać z niestandardowych wierszy poleceń w czasie wykonywania. Aby uzyskać więcej informacji na temat uruchamiania kontenerów opartych na zadaniach, zobacz Run containerized tasks with restart policies (Uruchamianie konteneryzowanych zadań przy użyciu zasad ponownego uruchamiania).