在VSTS中testingDocker容器内的应用程序

我试图testing一个ASP。 在VSTS中的NET Core 2 dockerized应用程序。 它通过docker-compose设置在docker集装箱内。 testing通过存储在config中的地址(或者从环境variables获取,如果设置)发出请求。

现在,构build是这样设置的:

  1. 运行compose命令来恢复和发布应用程序。
  2. 运行撰写来创build和运行docker集装箱。
  3. 运行一个bash脚本(解释如下)。
  4. 运行testing。

首先,我发现我不能在VSTS中使用http:// localhost:port 。 它在我的本地机器上正常工作,但在服务器上不起作用。

我发现这篇文章指出需要使用容器的真实IP来访问它。 我已经尝试了引用问题中描述的2个方法,但是没有一个能够工作。

  1. 当使用docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id ,我得到Template parsing error: template: :1:24: executing "" at <.NetworkSettings.Net...>: map has no entry for key "NetworkSettings" (问题出在命令本身)
  2. 当使用docker inspect $(sudo docker ps | grep wiremocktest_microservice.gateway | head -c 12) | grep -e \"IPAddress\"\:[[:space:]]\"[0-2] | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' docker inspect $(sudo docker ps | grep wiremocktest_microservice.gateway | head -c 12) | grep -e \"IPAddress\"\:[[:space:]]\"[0-2] | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' ,奇怪的事情发生了,也就是说,他们开始超时了,我试图在本地复制这个,并且每次请求这个IP超时(很容易在浏览器中检查)。

我需要使用什么地址访问VSTS中的容器,为什么我不能使用本地主机?