我正在尝试使用 Azure VMSS 中的 docker 执行 Neoload 性能测试场景。下面是我正在使用的 YAML 代码
trigger:
- main
pool:
name: 2019vmss
steps:
- task: DockerInstaller@0
displayName: 'Install Docker 17.09.0-ce'
- task: CmdLine@2
inputs:
script: 'docker --version'
- script:
docker run --rm -v "$(Build.SourcesDirectory)":/neoload-project -e SCENARIO_NAME=UPX_5_User_Load_test -e NEOLOADWEB_TOKEN=Token -e TEST_NAME=CI-smoke -e CONTROLLER_ZONE_ID=zodeid neotys/neoload-web-test-launcher
Pipeline 成功验证 docker 安装,但在执行 docker run 命令时返回以下错误
docker: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.32/containers/create: 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. This error may also indicate that the docker daemon is not running.
当尝试谷歌时,我看到很少有在管理模式下运行命令的建议。但我相信在管道中执行的所有任务默认情况下都在管理模式下运行。请求帮助解决。
从错误消息来看,Docker 守护进程似乎没有在 WMSS 实例上启动。您可以尝试通过自定义脚本扩展设置启动脚本来启动 Docker 守护进程:
# startup.ps1
# By default, Docker Desktop is installed at "C:\Program Files\Docker\Docker" on Windows.
Start-Process -FilePath "installation/path/to/Docker Desktop.exe"
Start-Service -Name com.docker.service
sudo systemctl start docker