当前位置: 首页 > 知识库问答 >
问题:

如何在 Windows 版 Docker 上运行 Cosmos DB 模拟器?

施权
2023-03-14

我试图让Cosmos DB模拟器在Docker for Windows上运行,但我没有任何运气。我正在执行这里的命令:

https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator

明确地:

md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul
docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i mominag/documentdb_emulator

我从Docker得到各种错误,包括“无效绑定装载”。命令本身似乎不正确,所以我尝试将< code > mominag/document db _ emulator 更改为< code > Microsoft/azure-document db-emulator ,但这不起作用。这是我第一次真正尝试使用Docker。

我还看了一下GitHub上的以下内容,看起来像是微软文档中的命令源。

https://github.com/Azure/azure-documentdb-emulator-docker

更新:下面是我正在运行的命令和返回的错误。

PS C:\> md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul
out-file : FileStream was asked to open a device that was not a file. For support for devices like 'com1:' or 'lpt1:',
call CreateFile, then use the FileStream constructors that take an OS handle as an IntPtr.
At line:1 char:1
+ md %LOCALAPPDATA%\DocumentDBEmulatorCert 2>nul
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (:) [Out-File], NotSupportedException
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

PS C:\> docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i docume
ntdb_emulator
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: invalid bind mount spec "%LOCALAPPD
ATA%\\DocumentDBEmulatorCert:c:\\DocumentDBEmulator\\DocumentDBEmulatorCert": invalid volume specification: '%LOCALAPPDA
TA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert'.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
PS C:\>

如果我删除<code>2

共有1个答案

东弘扬
2023-03-14

根据您的描述,我通过power shell检查了命令行,发现目录创建不正确,如下所示:

注意:您可以将%LOCALAPPDATA%替换为$env:LOCALAPPDATA

运行以下命令行以启动docentdb模拟器时:

docker run -v %LOCALAPPDATA%\DocumentDBEmulatorCert:c:\DocumentDBEmulator\DocumentDBEmulatorCert -P -t -i mominag/documentdb_emulator

我遇到了以下错误:

当我将< code > mominag/documentdb _ emulator 更改为< code > Microsoft/azure-document db-emulator 时,我可以成功启动我的document db模拟器,如下所示:

 类似资料:
  • 理想情况下,我希望能够创建一个像.azcli这样的脚本,我可以在CosmosDB模拟器上本地运行,然后在我的devops管道中使用相同的脚本将资源上传到Azure。 这是我当前的 CLI 命令。 deploy-cosmos.azcli 我在Azure CLI文档中找不到任何提及CosmosDB模拟器的内容,并且CLI命令本身的参数似乎都无法直接指向模拟器。 https://docs.microso

  • 问题内容: 在旧版Docker for Windows中,我记得它明确表示它使用Linux VM作为内核。 但自从新的稳定版本(我认为是2016年7月发布)以来,它说 如果我理解正确,则指定的基本映像用于用户空间,并且使用主机的内核。因此,如果指定使用ubuntu基本映像运行echo命令,则Windows内核如何发挥作用? 还是我完全误会了什么? 问题答案: 适用于Windows的Docker仍使

  • 问题内容: 我在计算机上安装了两个版本的Python(版本2.6和2.5)。我想为一个项目运行2.6,为另一个项目运行2.5。 如何指定要使用的商品? 我正在使用Windows XP SP2。 问题答案: 运行不同的Python副本就像启动正确的可执行文件一样容易。您提到您只是通过键入从命令行启动python实例。 这在Windows下的作用是拖移环境变量,检查可执行文件,批处理文件(),命令文件

  • 问题内容: 我已成功将docker用于Windows 10上带有Linux容器的Windows窗口-但现在我想使用新的闪亮Windows Server 2016进行该任务-但是如何呢? 我已经使用此指南安装了Docker功能:https : //msdn.microsoft.com/zh- cn/virtualization/windowscontainers/quick_start/quick_

  • 问题内容: 运行Airflow的常规说明不适用于Windows环境: Airflow实用程序在命令行中不可用,我在其他地方找不到要手动添加的实用程序。Airflow如何在Windows上运行? 问题答案: 您可以在Windows中激活,并直接按照本教程进行操作。我能够按照上面的步骤启动并成功运行。 安装完成后,请进行编辑以将所有配置指向Windows系统中的某个位置,而不是lxss(ubuntu)

  • 主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持