使用Docker-Compose在Docker卷内生成测试ASP.NET Core测试结果

时间:2018-07-19 18:42:05

标签: docker .net-core docker-compose

我正在Windows 10 Pro计算机上进行开发,试图从以Linux模式运行的docker容器中生成Microsoft trx测试结果文件。

这是我的docker-compose yml文件:

version: '3.4'

services:
  redis:
    image: redis

  Project.Test:
    build:
      context: .
      dockerfile: ./Project.Test/Dockerfile

这是使用up命令执行的Dockerfile

FROM microsoft/dotnet:2.0-sdk AS build
WORKDIR /src

COPY Project.Test/*.csproj Project.Test/
RUN dotnet restore -nowarn:msb3202 Project.Test/*.csproj

COPY . ./

WORKDIR /src/Project.Test
RUN dotnet build Project.Test.csproj -c Release -o /app
RUN dotnet test --logger:trx;LogFileName=/artifacts/Project.Test.trx

我需要将Project.Test.trx复制到Windows 10计算机上的一个文件夹中,但是我无法正确安装该卷。

在docker-compose内部插入正确的命令是什么?

1 个答案:

答案 0 :(得分:1)

您可能需要在Docker中为Windows设置 Shared Drives (通过系统托盘访问)。

Docker文档https://docs.docker.com/docker-for-windows/#shared-drives中提供了详细描述该过程的部分,该过程可能需要防火墙规则,并且可以永久(对于所有容器)执行,或者仅在安装容器时需要时执行。

这里还有一个有用的疑难解答部分,由于有一些相关的权限/防火墙陷阱,它可能会派上用场:https://docs.docker.com/docker-for-windows/troubleshoot/#volumes