Эмулятор Azure CosmosDB в Docker не создает сертификат - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь запустить эмулятор Azure CosmosDB в контейнере Docker в соответствии со следующими инструкциями:

https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator#running-on-docker

Ниже описаны основные команды:

md %LOCALAPPDATA%\CosmosDBEmulatorCert 2>null docker run -v %LOCALAPPDATA%\CosmosDBEmulatorCert:C:\CosmosDB.Emulator\CosmosDBEmulatorCert -P -t -i -m 2GB microsoft/azure-cosmosdb-emulator

Следующая инструкция - импортировать сертификат SSL на хост: cd /d %LOCALAPPDATA%\CosmosDBEmulatorCert powershell .\importcert.ps1

Но папка пуста - нет сертификата и нет сценария powershell.

Точно так же папка C:\CosmosDB.Emulator\CosmosDBEmulatorCert на контейнере также пуста.

Когда все инициализировалось, есть строка, говорящая:

-a---- 10/18/2018 4:50 PM 513 CosmosDbEmulatorCert.cer

Но я могунигде не вижу сертификат

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

Вместо этого используйте эти инструкции: https://hub.docker.com/r/microsoft/azure-cosmosdb-emulator/

Команда run показала, что есть пренебрежение.Он использует --mount вместо -v для обработки томов и привязок:

(замените %hostDirectory% на ваш путь, где вы хотите хранить сертификаты, такие как C:\Users\<youruser>\AppData\Local\azure-cosmosdb-emulator-hostd или объявить его в скрипте)

 docker run --name azure-cosmosdb-emulator --memory 2GB --mount "type=bind,source=%hostDirectory%,destination=C:\CosmosDB.Emulator\bind-mount" -P --interactive --tty microsoft/azure-cosmosdb-emulator

Затем вы можете закрыть интерактивную оболочку.Он продолжит работать.

0 голосов
/ 24 февраля 2019

Инструкции по URL - https://hub.docker.com/r/microsoft/azure-cosmosdb-emulator/ отлично работает.

Я все же хотел бы предложить несколько изменений -

Шаг 1:

md cd $env:LOCALAPPDATA\CosmosDBEmulatorCert

docker run --name azure-cosmosdb-emulator --memory 2GB -p 8081:8081 --mount "type=bind,source=$env:LOCALAPPDATA\CosmosDBEmulatorCert,destination=C:\CosmosDB.Emulator\bind-mount" -P --interactive --tty microsoft/azure-cosmosdb-emulator

Шаг 2:

  • Открыть другое окно powershell и запустить ниже набора команд

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

    $ env: LOCALAPPDATA \ CosmosDBEmulatorCert \ importcert.ps1

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Restricted

Step3:

Вы больше не должны получать ошибку сертификата с доступностью на localhost

0 голосов
/ 18 октября 2018

Я нашел сертификат в контейнере в C:\CosmosDB.Emulator\bind-mount

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...