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

我正在使用
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中插入的正确命令是什么?

最佳答案 您可能需要在Docker for Windows设置中启用共享驱动器(通过系统托盘访问).

Docker docs https://docs.docker.com/docker-for-windows/#shared-drives中有一个详细描述该过程的部分 – 可能需要防火墙规则,可以永久(对于所有容器)或仅在安装容器时需要.

这里还有一个有用的故障排除部分,它可能会派上用场,因为有一些相关的权限/防火墙问题:https://docs.docker.com/docker-for-windows/troubleshoot/#volumes

点赞