Проект Visual Studio 2017 Docker по проблеме с томами Windows

Я проверяю новую Visual Studio 2017 со встроенным подключением к Docker. После того, как все было установлено и решено ряд проблем с установлением соединения между Visual Studio и Docker, работающим в виртуальной машине VirtualBox, я столкнулся с проблемой, когда VS не может запустить контейнер из-за сопоставления томов. Прочитав несколько сообщений о подобных проблемах, я все еще не могу его запустить.

Это полностью стандартное приложение шаблона .NET core из 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"

докер-compose.vs.debug.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"

Докерфайл

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

Ошибка:

ОШИБКА: для веб-приложения 1 не удается создать контейнер для службы веб-приложение 1: недопустимая спецификация подключения привязки "C:\Users\UserName\Documents\Visual Studio 2017\Projects\WebApplication1\WebApplication1:/app:rw": недопустимая спецификация тома: 'C:\Users \UserNameDocuments\Visual Studio 2017\Projects\WebApplication1\WebApplication1:/app:rw'

Где проблема? Я пытался экранировать косые черты и включать и выключать COMPOSE_CONVERT_WINDOWS_PATHS, но результат всегда один и тот же. Пожалуйста, помогите!


person ArkadyB    schedule 10.03.2017    source источник
comment
Вам удалось это исправить?   -  person KidCode    schedule 02.06.2017


Ответы (3)


Я считаю, что это связано с запуском последней версии Docker Toolbox, которая не проходит через переменную среды DOCKER_BUILD_SOURCE. Я не верю, что Docker Toolbox планирует решить эту проблему со своей стороны, поскольку они обрабатывают переменные среды должным образом; но для визуальной студии потребуется обновление, или шаблоны компоновки докеров по умолчанию потребуют обновления, чтобы справиться с этим.

person Justin Greene    schedule 10.05.2017

Я также боролся с этим в течение нескольких часов и продолжал бороться, задаваясь вопросом, почему что-то подобное не работает...

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

оказывается, он придирчив к делу на диске, и это в конечном итоге сработало:

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

person Matthew Lazarow    schedule 27.10.2017

Может быть связано с отсутствием общего диска в Docker?

введите здесь описание изображения

person Stef Heyenrath    schedule 13.03.2017
comment
что произойдет, если у вас есть несколько дисков и один для запуска докера с этого диска - person Son_of_Sam; 24.04.2017
comment
Общие диски не с контейнером Windows - person Frank M.; 29.05.2017