Konfigurowanie kontenerów OCR Docker odczytu
Środowisko uruchomieniowe kontenera OCR odczytu usługi Azure AI Vision można skonfigurować przy użyciu docker run
argumentów polecenia. Ten kontener ma kilka wymaganych ustawień wraz z kilkoma ustawieniami opcjonalnymi. Dostępnych jest kilka przykładów polecenia. Ustawienia specyficzne dla kontenera to ustawienia rozliczeń.
Ustawienia konfiguracji
Kontener ma następujące ustawienia konfiguracji:
Wymagania | Ustawienie | Purpose |
---|---|---|
Tak | ApiKey | Śledzi informacje o rozliczeniach. |
Nie. | ApplicationInsights | Umożliwia dodawanie obsługi telemetrii usługi aplikacja systemu Azure Insights do kontenera. |
Tak | Rozliczenia | Określa identyfikator URI punktu końcowego zasobu usługi na platformie Azure. |
Tak | Eula | Wskazuje, że zaakceptowano licencję dla kontenera. |
Nie. | Biegle | Zapisuje dziennik i, opcjonalnie, dane metryk na serwerze Fluentd. |
Nie. | HTTP Proxy | Konfiguruje serwer proxy HTTP do tworzenia żądań wychodzących. |
Nie. | Rejestrowanie | Zapewnia obsługę rejestrowania ASP.NET Core dla kontenera. |
Nie. | Wierzchowce | Odczytuje i zapisuje dane z komputera hosta do kontenera i z kontenera z powrotem do komputera hosta. |
Ważne
Ustawienia ApiKey
, Billing
i są Eula
używane razem i należy podać prawidłowe wartości dla wszystkich trzech z nich; w przeciwnym razie kontener nie zostanie uruchomiony. Aby uzyskać więcej informacji na temat używania tych ustawień konfiguracji do tworzenia wystąpienia kontenera, zobacz Rozliczenia.
Kontener ma również następujące ustawienia konfiguracji specyficzne dla kontenera:
Wymagania | Ustawienie | Purpose |
---|---|---|
Nie. | ReadEngineConfig:ResultExpirationPeriod | Tylko kontenery w wersji 2.0. Okres wygaśnięcia wyniku w godzinach. Wartość domyślna to 48 godzin. Ustawienie określa, kiedy system powinien wyczyścić wyniki rozpoznawania. Jeśli na przykład resultExpirationPeriod=1 system wyczyści wynik rozpoznawania 1 godzinę po procesie. Jeśli resultExpirationPeriod=0 system wyczyści wynik rozpoznawania po pobraniu wyniku. |
Nie. | Pamięć podręczna:Redis | Tylko kontenery w wersji 2.0. Umożliwia przechowywanie wyników w usłudze Redis Storage. Pamięć podręczna jest wymagana , jeśli wiele kontenerów OCR do odczytu znajduje się za modułem równoważenia obciążenia. |
Nie. | Queue:RabbitMQ | Tylko kontenery w wersji 2.0. Włącza narzędzie RabbitMQ do wysyłania zadań. To ustawienie jest przydatne, gdy za modułem równoważenia obciążenia znajduje się wiele kontenerów odczytu OCR. |
Nie. | Queue:Azure:QueueVisibilityTimeoutInMilliseconds | Tylko kontenery w wersji 3.x. Czas, aby komunikat był niewidoczny, gdy inny proces roboczy go przetwarza. |
Nie. | Storage::D ocumentStore::MongoDB | Tylko kontenery w wersji 2.0. Włącza bazę danych MongoDB dla trwałego magazynu wyników. |
Nie. | Storage:ObjectStore:AzureBlob:ConnectionString | Tylko kontenery w wersji 3.x. Parametry połączenia usługi Azure Blob Storage. |
Nie. | Storage:TimeToLiveInDays | Tylko kontenery w wersji 3.x. Okres wygaśnięcia wyniku w dniach. Ustawienie określa, kiedy system powinien wyczyścić wyniki rozpoznawania. Wartość domyślna to 2 dni, co oznacza, że każdy wynik trwa dłużej niż ten okres, nie ma gwarancji, że zostanie pomyślnie pobrany. Wartość jest liczbą całkowitą i musi należeć od 1 dnia do 7 dni. |
Nie. | StorageTimeToLiveInMinutes | 3.2-model-2021-09-30-preview i nowe kontenery. Okres wygaśnięcia wyniku w minutach. Ustawienie określa, kiedy system powinien wyczyścić wyniki rozpoznawania. Wartość domyślna to 2 dni (2880 minut), co oznacza, że wszystkie wyniki będą aktywne dłużej niż ten okres, nie ma gwarancji pomyślnego pobrania. Wartość jest liczbą całkowitą i musi należeć od 60 minut do 7 dni (10080 minut). |
Nie. | Zadanie:MaxRunningTimeSpanInMinutes | Tylko kontenery w wersji 3.x. Maksymalny czas wykonywania pojedynczego żądania. Wartość domyślna to 60 minut. |
Nie. | EnableSyncNTPServer | Tylko kontenery w wersji 3.x, z wyjątkiem wersji 3.2-model-2021-09-30-preview i nowszych kontenerów. Włącza mechanizm synchronizacji serwera NTP, który zapewnia synchronizację między czasem systemowym a oczekiwanym środowiskiem uruchomieniowym zadania. Należy pamiętać, że wymaga to ruchu sieciowego zewnętrznego. Wartość domyślna to true . |
Nie. | NTPServerAddress | Tylko kontenery w wersji 3.x, z wyjątkiem wersji 3.2-model-2021-09-30-preview i nowszych kontenerów. Serwer NTP na potrzeby synchronizacji czasu. Wartość domyślna to time.windows.com . |
Nie. | Mounts:Shared | Tylko kontenery w wersji 3.x. Folder lokalny do przechowywania wyników rozpoznawania. Wartość domyślna to /share . W przypadku uruchamiania kontenera bez korzystania z usługi Azure Blob Storage zalecamy zainstalowanie woluminu w tym folderze w celu zapewnienia wystarczającej ilości miejsca na wyniki rozpoznawania. |
Ustawienie konfiguracji apiKey
Ustawienie ApiKey
określa klucz zasobu usługi Vision używany do śledzenia informacji rozliczeniowych dla kontenera. Musisz określić wartość elementu ApiKey, a wartość musi być prawidłowym kluczem dla zasobu przetwarzania obrazów określonego Billing
dla ustawienia konfiguracji.
To ustawienie można znaleźć w następującym miejscu:
- Azure Portal: Zarządzanie zasobami usług Azure AI w obszarze Klucze
Ustawienie applicationInsights
Ustawienie ApplicationInsights
umożliwia dodanie obsługi telemetrii usługi aplikacja systemu Azure Insights do kontenera. Usługa Application Insights zapewnia szczegółowe monitorowanie kontenera. Kontener można łatwo monitorować pod kątem dostępności, wydajności i użycia. Możesz również szybko identyfikować i diagnozować błędy w kontenerze.
W poniższej tabeli opisano ustawienia konfiguracji obsługiwane w ApplicationInsights
sekcji .
Wymagania | Nazwisko | Typ danych | opis |
---|---|---|---|
Nie. | InstrumentationKey |
String | Klucz instrumentacji wystąpienia usługi Application Insights, do którego są wysyłane dane telemetryczne dla kontenera. Aby uzyskać więcej informacji, zobacz Application Insights for ASP.NET Core. Przykład: InstrumentationKey=123456789 |
Ustawienie konfiguracji rozliczeń
Ustawienie Billing
określa identyfikator URI punktu końcowego zasobu usług azure AI na platformie Azure używany do pomiaru informacji rozliczeniowych dla kontenera. Musisz określić wartość dla tego ustawienia konfiguracji, a wartość musi być prawidłowym identyfikatorem URI punktu końcowego dla zasobu usług Azure AI na platformie Azure. Kontener raportuje użycie co około 10 do 15 minut.
To ustawienie można znaleźć w następującym miejscu:
- Azure Portal: Omówienie usług AI platformy Azure z etykietą
Endpoint
Pamiętaj, aby dodać vision/<version>
routing do identyfikatora URI punktu końcowego, jak pokazano w poniższej tabeli.
Wymagania | Nazwisko | Typ danych | opis |
---|---|---|---|
Tak | Billing |
String | Identyfikator URI punktu końcowego rozliczeń Przykład: Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2 |
Ustawienie Eula
Ustawienie Eula
wskazuje, że zaakceptowano licencję dla kontenera. Musisz określić wartość dla tego ustawienia konfiguracji, a wartość musi być ustawiona na accept
wartość .
Wymagania | Nazwisko | Typ danych | opis |
---|---|---|---|
Tak | Eula |
String | Akceptacja licencji Przykład: Eula=accept |
Kontenery usług AI platformy Azure są licencjonowane zgodnie z umową regulującą korzystanie z platformy Azure. Jeśli nie masz istniejącej umowy dotyczącej korzystania z platformy Azure, zgadzasz się, że Umowa rządząca korzystaniem z platformy Azure jest umową subskrypcji online firmy Microsoft, która obejmuje postanowienia dotyczące usług online. W przypadku wersji zapoznawczych zgadzasz się również na dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure. Korzystając z kontenera, akceptujesz te warunki.
Ustawienia fluentd
Fluentd to moduł zbierający dane typu open source do ujednoliconego rejestrowania. Ustawienia Fluentd
zarządzają połączeniem kontenera z serwerem Fluentd . Kontener zawiera dostawcę rejestrowania Fluentd, który umożliwia kontenerowi zapisywanie dzienników i opcjonalnie danych metryk na serwerze Fluentd.
W poniższej tabeli opisano ustawienia konfiguracji obsługiwane w Fluentd
sekcji .
Nazwisko | Typ danych | opis |
---|---|---|
Host |
String | Adres IP lub nazwa hosta DNS serwera Fluentd. |
Port |
Integer | Port serwera Fluentd. Wartość domyślna to 24224. |
HeartbeatMs |
Integer | Interwał pulsu w milisekundach. Jeśli żaden ruch zdarzeń nie został wysłany przed wygaśnięciem tego interwału, puls jest wysyłany do serwera Fluentd. Wartość domyślna to 60000 milisekund (1 minuta). |
SendBufferSize |
Integer | Miejsce buforu sieci w bajtach przydzielone do operacji wysyłania. Wartość domyślna to 32768 bajtów (32 kilobajty). |
TlsConnectionEstablishmentTimeoutMs |
Integer | Limit czasu ( w milisekundach) w celu nawiązania połączenia SSL/TLS z serwerem Fluentd. Wartość domyślna to 10000 milisekund (10 sekund). Jeśli UseTLS ustawiono wartość false, ta wartość jest ignorowana. |
UseTLS |
Wartość logiczna | Wskazuje, czy kontener powinien używać protokołu SSL/TLS do komunikacji z serwerem Fluentd. Wartość domyślna to false. |
Ustawienia poświadczeń serwera proxy HTTP
Jeśli musisz skonfigurować serwer proxy HTTP do tworzenia żądań wychodzących, użyj następujących dwóch argumentów:
Nazwisko | Typ danych | opis |
---|---|---|
HTTP_PROXY | string | Serwer proxy do użycia, na przykład http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Wszelkie poświadczenia wymagane do uwierzytelnienia na serwerze proxy, na przykład username:password . Ta wartość musi być w małych literach. |
<proxy-user> |
string | Użytkownik serwera proxy. |
<proxy-password> |
string | Hasło skojarzone z <proxy-user> serwerem proxy. |
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \
Ustawienia rejestrowania
Ustawienia Logging
zarządzają obsługą rejestrowania ASP.NET Core dla kontenera. Możesz użyć tych samych ustawień konfiguracji i wartości dla kontenera, który jest używany dla aplikacji ASP.NET Core.
Następujący dostawcy rejestrowania są obsługiwani przez kontener:
Dostawca | Purpose |
---|---|
Konsola | Dostawca rejestrowania ASP.NET Core Console . Obsługiwane są wszystkie ustawienia konfiguracji ASP.NET Core i wartości domyślne dla tego dostawcy rejestrowania. |
Debug | Dostawca rejestrowania ASP.NET Core Debug . Obsługiwane są wszystkie ustawienia konfiguracji ASP.NET Core i wartości domyślne dla tego dostawcy rejestrowania. |
Disk | Dostawca rejestrowania JSON. Ten dostawca rejestrowania zapisuje dane dziennika w instalacji wyjściowej. |
To polecenie kontenera przechowuje informacje rejestrowania w formacie JSON do instalacji wyjściowej:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output
To polecenie kontenera wyświetla informacje debugowania z prefiksem dbug
, gdy kontener jest uruchomiony:
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug
Rejestrowanie dysku
Dostawca rejestrowania Disk
obsługuje następujące ustawienia konfiguracji:
Nazwisko | Typ danych | opis |
---|---|---|
Format |
String | Format danych wyjściowych dla plików dziennika. Uwaga: ta wartość musi być ustawiona na wartość , aby json włączyć dostawcę rejestrowania. Jeśli ta wartość jest określona bez określania również instalacji wyjściowej podczas tworzenia wystąpienia kontenera, wystąpi błąd. |
MaxFileSize |
Integer | Maksymalny rozmiar w megabajtach (MB) pliku dziennika. Gdy rozmiar bieżącego pliku dziennika spełnia lub przekracza tę wartość, nowy plik dziennika jest uruchamiany przez dostawcę rejestrowania. Jeśli określono -1, rozmiar pliku dziennika jest ograniczony tylko przez maksymalny rozmiar pliku, jeśli istnieje, dla instalacji wyjściowej. Domyślna wartość wynosi 1. |
Aby uzyskać więcej informacji na temat konfigurowania obsługi rejestrowania ASP.NET Core, zobacz Konfiguracja pliku ustawień.
Ustawienia instalacji
Użyj instalacji powiązania, aby odczytywać i zapisywać dane z i z kontenera. Możesz określić instalację wejściową lub instalację wyjściową, określając --mount
opcję w poleceniu docker run .
Kontenery usługi Azure AI Vision nie używają instalacji wejściowych ani wyjściowych do przechowywania danych szkoleniowych lub usług.
Dokładna składnia lokalizacji instalacji hosta różni się w zależności od systemu operacyjnego hosta. Ponadto lokalizacja instalacji komputera hosta może być niedostępna z powodu konfliktu między uprawnieniami używanymi przez konto usługi Platformy Docker i uprawnieniami lokalizacji instalacji hosta.
Opcjonalnie | Nazwisko | Typ danych | opis |
---|---|---|---|
Niedozwolone | Input |
String | Kontenery usługi Azure AI Vision nie używają tego. |
Opcjonalnie | Output |
String | Element docelowy instalacji wyjściowej. Domyślna wartość to /output . Jest to lokalizacja dzienników. Obejmuje to dzienniki kontenerów. Przykład: --mount type=bind,src=c:\output,target=/output |
Przykładowe polecenia uruchamiania platformy Docker
W poniższych przykładach użyto ustawień konfiguracji, aby zilustrować sposób pisania i używania docker run
poleceń. Po uruchomieniu kontener będzie działać do momentu jego zatrzymania .
- Znak kontynuacji wiersza: polecenia platformy Docker w poniższych sekcjach używają ukośnika odwrotnego ,
\
jako znaku kontynuacji wiersza. Zastąp lub usuń to na podstawie wymagań systemu operacyjnego hosta. - Kolejność argumentów: nie zmieniaj kolejności argumentów, chyba że znasz kontenery platformy Docker.
Zastąp element {argument_name} własnymi wartościami:
Symbol zastępczy | Wartość | Formatowanie lub przykład |
---|---|---|
{API_KEY} | Klucz punktu końcowego zasobu usługi Vision na stronie kluczy zasobów. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | Wartość punktu końcowego rozliczeń jest dostępna na stronie przeglądu zasobu. | Zobacz Zbieranie wymaganych parametrów, aby zapoznać się z jawnymi przykładami. |
Uwaga
Nowe zasoby utworzone po 1 lipca 2019 r. będą używać niestandardowych nazw domen podrzędnych. Aby uzyskać więcej informacji i pełną listę regionalnych punktów końcowych, zobacz Niestandardowe nazwy poddomeny dla usług Azure AI.
Ważne
Aby Eula
uruchomić kontener, należy określić opcje , Billing
i ApiKey
. W przeciwnym razie kontener nie zostanie uruchomiony. Aby uzyskać więcej informacji, zobacz Rozliczenia.
Wartość ApiKey to klucz ze strony kluczy zasobów usługi Vision.
Przykłady platformy Docker dla kontenerów
Poniższe przykłady platformy Docker dotyczą kontenera OCR odczytu.
Przykład podstawowy
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Przykład rejestrowania
docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information
Następne kroki
- Zapoznaj się z artykułem Jak zainstalować i uruchomić kontenery.