Могу ли я добавить привязку порта к контейнеру docker при отладке в Visual Studio? - PullRequest
0 голосов
/ 27 мая 2020

Я делаю Po C с помощью докеров и. net 5. Идея состоит в том, чтобы создать консольное приложение или рабочую службу, которая открывает TCP-порт и начинает прослушивать некоторые специфические c трафик c . Если я тестирую его вне докеров, он работает, но когда я пытаюсь выполнить отладку с помощью докеров, контейнер запускается без привязки к порту. Без привязки порта программа не получает никаких подключений.

enter image description here

Это происходит с фоновыми рабочими процессами или проектами консольных приложений. Тем временем я попытался использовать проект «Контейнерное приложение для Kubernetes», удалил весь веб-код и поместил свой собственный. В этом проекте VS привязывает случайный порт к открытому порту.

enter image description here

Есть ли способ добавить привязку порта вручную к отладке Visual Studio процесс?

1 Ответ

1 голос
/ 03 июня 2020

При работе на docker всегда есть 2 сети

  1. сеть хост-машины
  2. docker собственная частная сеть docker network ls

Для сопоставления портов --ports <left side>:<right side>, если вы отлаживаете из контейнера docker, вам нужно будет использовать порт с правой стороны сопоставлений. Если вы обращаетесь с хост-машины, используйте левую

Не уверен, что это то, что вам нужно.

Я создал docker -compose с несколькими привязками портов, например итак:

version: '3.4'

services:
  consoleapp2:
    image: ${DOCKER_REGISTRY-}consoleapp2
    ports:
      - "8080:80"
      - "8081:81"
      - "8082:82"
    build:
      context: .
      dockerfile: ConsoleApp2/Dockerfile

И вот что я вижу при отладке приложения:

enter image description here

...