Не удалось подключить отладчик к локальному контейнеру docker linux из Visual Studio 2019 - PullRequest
0 голосов
/ 28 февраля 2020

Итак, у меня простой hello world. net Настройка основного приложения на моей локальной машине, работающей в docker контейнере с использованием docker -compose

Проблема в том, что я пытался подключить отладчик из vs2019 с помощью Отладка -> Присоединить к процессу -> Тип соединения Docker (Linux Контейнер) -> выбрать процесс и нажать кнопку присоединить.

Я получил сообщение об ошибке

Failed to launch debug adapter 'coreclr'.
Failed to copy files.


Initialization log:
Determining user folder on remote system...
Checking for existing installation of debugging tools...
Downloading debugger launcher...
Creating debugger installation folder: /root/.vs-debugger
Copying debugger launcher to /root/.vs-debugger/GetVsDbg.sh
Failed: Failed to copy files.
The program '[360] bash' has exited with code -1 (0xffffffff).

Кажется, для некоторых Причина, по которой Visual Studio пыталась скопировать отладчик в работающий контейнер, но не смогла

. Вот простой файл dockerfile и docker -compose

Dockerfile

FROM microsoft/aspnetcore-build:1.1.2

RUN apt-get update && apt-get install -y unzip

RUN curl -sSL \
   https://aka.ms/getvsdbgsh | bash /dev/stdin -v vs2019 -l /root/.vs-debugger

COPY node_modules/wait-for-it.sh/bin/wait-for-it /tools/wait-for-it.sh

RUN chmod +x /tools/wait-for-it.sh

ENV DBHOST=dev_mysql WAITHOST=dev_mysql WAITPORT=3306

ENV DOTNET_USE_POLLING_FILE_WATCHER=true 

EXPOSE 80/tcp

VOLUME /app

WORKDIR /app

ENTRYPOINT dotnet restore \
    && /tools/wait-for-it.sh $WAITHOST:$WAITPORT --timeout=0 \
       && dotnet watch run --environment=Development

docker -compose.yml

version: "3"

volumes:
  productdata:

networks:
  backend:

services:
  mysql:
    image: "mysql:8.0.0"
    volumes:
      - productdata:/var/lib/mysql
    networks:
      - backend
    environment:
      - MYSQL_ROOT_PASSWORD=mysecret
      - bind-address=0.0.0.0

  mvc:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app
      - /app/obj
      - /app/bin
      - ~/.nuget:/root/.nuget
      - /root/.nuget/packages/.tools
    ports:
      - 3000:80
    networks:
      - backend
    environment:
      - DBHOST=mysql
      - WAITHOST=mysql
    depends_on:
      - mysql

Примечание. - Я уже установил флажок Общий диск на хосте docker

. Любая подсказка по этому поводу?

1 Ответ

0 голосов
/ 03 марта 2020

По какой-то причине Visual Studio не имеет доступа к группе docker -пользователей, несмотря на то, что я уже добавил свою текущую учетную запись в группу

Обходной путь - создать новый windows пользователя и добавьте его в группу docker -users. Это работает как шарм

...