我正在使用AzureDevops管道对docker ECONNREFUSED错误中的api运行纽曼测试

时间:2019-04-18 16:29:35

标签: docker azure-devops newman

我有一个Azure管道。

在其中创建一个包含.netcore API的Docker容器。

我创建了一组邮递员测试,并且试图在docker中针对API运行这些测试。

我已将端口5050作为创建API的dockerfile的一部分公开。 我已将newman设置为使用localhost:5050。

运行newman脚本后,所有测试均失败,并且出现以下错误:

POST http://localhost:5050/api/myendpoint [errored]
 connect ECONNREFUSED 127.0.0.1:5050
2⠄ JSONError in test-script

这是我的dockerfile:

FROM microsoft/dotnet:2.1-aspnetcore-runtime-nanoserver-1803 AS base
WORKDIR /app
EXPOSE 5050

ENV ASPNETCORE_URLS http://+:5050

FROM microsoft/dotnet:2.1-sdk-nanoserver-1803 AS build
WORKDIR /src
COPY ["my.data.api/my.data.api.csproj", "my.data.api/"]
RUN dotnet restore "my.data.api/my.data.api.csproj"
COPY . .
WORKDIR "/src/my.data.api"

RUN dotnet build "my.data.api.csproj" -c Release -o /app
FROM build AS publish

RUN dotnet publish "my.data.api.csproj" -c Release -o /app
FROM base AS final

WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "my.data.api.dll"]

有人知道我需要做什么才能启用从构建代理(托管代理)到Docker容器中的API的访问吗?

其他信息:我在管道代码中构建API映像并运行它:

    - task: Docker@1
  displayName: 'Build API Image'
  inputs:
    command: build
    dockerFile: 'my.data.api\Dockerfile'
    useDefaultContext: false
    buildContext: '.'



    - task: Docker@1
  displayName: 'Run API Image'
  inputs:
    command: run
    ports: '5050:5050'
    runInBackground: true
    containerName: $(Build.Repository.Name)

此后,我运行测试。最初,我只在Dockerfile中使用EXPOSE 5050,但是为了使它正常工作,我开始将其添加到任何地方...

0 个答案:

没有答案