2017-03-10 55 views
3

我正在检查一个新的Visual Studio 2017,内置了Docker连接。一旦完成了所有的东西安装和解决了一些关于建立Visual Studio和运行在VirtualBox VM中的Docker之间的连接的问题,我正面临和由于卷映射VS无法运行容器时发出的问题。阅读了许多类似问题的帖子,我仍然无法运行它..Windows卷上的Visual Studio 2017 Docker项目问题​​

它的完全默认的.NET核心示例模板应用程序从VS 2017与Docker的支持。

搬运工-compose.ci.build.yml

version: '2' 

services: 
    ci-build: 
    image: microsoft/aspnetcore-build:1.0-1.1 
    volumes: 
     - .:/src 
    working_dir: /src 
    command: /bin/bash -c "dotnet restore ./WebApplication1.sln && dotnet publish ./WebApplication1.sln -c Release -o ./obj/Docker/publish" 

搬运工-compose.yml

version: '2' 

services: 
    webapplication1: 
    image: webapplication1 
    environment: 
    - COMPOSE_CONVERT_WINDOWS_PATHS=1 
    build: 
     context: ./WebApplication1 
     dockerfile: Dockerfile 

搬运工-compose.override.yml

version: '2' 

services: 
    webapplication1: 
    environment: 
     - ASPNETCORE_ENVIRONMENT=Development  
    ports: 
     - "80" 

搬运工-撰写。 vsdebug.yml

version: '2' 

services: 
    webapplication1: 
    image: webapplication1:dev 
    build: 
     args: 
     source: ${DOCKER_BUILD_SOURCE} 
    environment: 
     - DOTNET_USE_POLLING_FILE_WATCHER=1  
    volumes: 
     - ./WebApplication1:/app 
     - ~/.nuget/packages:/root/.nuget/packages:ro 
     - ~/clrdbg:/clrdbg:ro 
    entrypoint: tail -f /dev/null 
    labels: 
     - "com.microsoft.visualstudio.targetoperatingsystem=linux" 

Dockerfile

FROM microsoft/aspnetcore:1.1 
ARG source 
WORKDIR /app 
EXPOSE 80 
COPY ${source:-obj/Docker/publish} . 
ENTRYPOINT ["dotnet", "WebApplication1.dll"] 

错误:

ERROR: for webapplication1 Cannot create container for service webapplication1: invalid bind mount spec "C:\Users\UserName\Documents\Visual Studio 2017\Projects\WebApplication1\WebApplication1:/app:rw": invalid volume specification: 'C:\Users\UserNameDocuments\Visual Studio 2017\Projects\WebApplication1\WebApplication1:/app:rw'

问题出在哪里?我尝试了跳过斜杠并打开和关闭COMPOSE_CONVERT_WINDOWS_PATHS,但结果一直都是一样的。请帮帮忙!

+0

你设法解决这个问题吗? – KidCode

回答

-1

也许与Docker中缺少共享驱动器有关?

enter image description here

+0

如果您有多个驱动器,并且要从该驱动器运行docker,会发生什么情况 –

+0

不支持Windows容器的共享驱动器 –

0

我相信这是由于运行的是最新版本,它不能穿过DOCKER_BUILD_SOURCE环境变量泊坞窗工具箱。我不相信Docker Toolbox正在计划解决这个问题,因为他们正在处理环境变量。但Visual Studio将需要更新或默认泊坞窗撰写模板将需要更新来处理这个。

0

我也有这个打了几个小时,继续奋斗奇怪,为什么这样的事情没有工作...

volume: - c:\[dir]:c:\[dir]

原来它是挑剔的情况下,驱动器上,这最终工作:

volume: - C:\[dir]:C:\[dir]