我打算在Azure DevOps中使用Azure Cosmos DB模拟器构建任务来设置CI/CD管道。我已经从市场上安装了它,YAML文件包含:
> task: CosmosDbEmulator@2 inputs:
> containerName: 'azure-cosmosdb-emulator'
> enableAPI: 'SQL'
> portMapping: '8081:8081, 8901:8901, 8902:8902, 8979:8979, 10250:10250, 10251:10251, 10252:10252, 10253:10253, 10254:10254,
> 10255:10255, 10256:10256, 10350:10350'
> hostDirectory: '$(Build.BinariesDirectory)\azure-cosmosdb-emulator'运行此操作将导致失败“术语'docker‘不能识别为cmdlet、函数、脚本文件或可操作的名称”,因此我将其添加到YAML中:
task: DockerInstaller@0
displayName: Docker Installer
inputs:
dockerVersion: 17.09.0-ce
releaseType: stable导致失败的:
连接期间出错:(.):打开//./管道/docker_engine:系统找不到指定的文件。在Windows上的默认守护进程配置中,必须运行停靠客户端才能连接。此错误还可能表示停靠守护进程没有运行。新的-cosmosdb模拟器容器:无法从mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator:latest“创建容器蔚蓝-cosmosdb模拟器
我是比较新的蔚蓝管道和码头,所以任何帮助都是非常感谢的!
发布于 2021-01-01 06:43:39
error during connect: (...): open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect.
上面遇到的错误是因为您的生成代理中没有安装停靠程序,或者对接器客户端没有成功启动。DockerInstaller@0任务只安装Docker cli,它不安装docker客户端。
参见下面从本文件中提取的内容。
为这个CI选择的代理池应该安装了Docker,除非安装是在以前的任务中作为CI的一部分手动完成。有关代理池的选择,请参阅Microsoft宿主代理文章;我们建议从托管VS2017开始。
如上述文件所建议的那样。请使用托管的vs2017代理运行管道。在yaml文件中设置pool部分,如下所示:参见池子 docuemnt。
pool:
vmImage: vs2017-win2016如果您使用的是自托管代理。请在您的自托管代理计算机中安装码头客户。确保码头客户端已经启动并运行。
https://stackoverflow.com/questions/65381413
复制相似问题