我编写了一些在Windows 10上的Visual Studio 2017中运行的集成测试。集成测试需要在端口localhost:27017上侦听的mongodb,现在我可以通过运行docker mongo:latest image在本地测试时满足该要求。 。我的本地docker当然是Windows的docker,但是使用Linux容器。
如何在Azure DevOps管道中复制此内容?有一个Docker任务,我已经能够部分将其与以下yaml一起使用:
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
pool:
vmImage: 'vs2017-win2016'
steps:
- task: Docker@1
displayName: 'Run an image'
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: DockerHubConnection
command: 'Run an image'
imageName: 'mongo:latest'
qualifyImageName: false
containerName: MongoTestWeb
ports: '27017:27017'
volumes: '$(System.DefaultWorkingDirectory):c:\'
envVars: 'MONGODB_DATABASE=testdatabase'
在本地运行时,我已将卷设置为/ data / db:/ data / db,并且尝试将上面的卷行设置为:
volumes: /data/db:/data/db
但是它也不起作用。
当我说“不起作用”时,我的意思是管道任务开始了,我可以看到它正在下载mongo:latest图像,但是在下载它并经过很长一段时间后挂起,超时并显示消息:
无法识别的音量规格:无效的音量规格
所以,我认为问题在于音量规格,但是我不清楚如何指定音量。
有想法吗?