Инструменты Visual Studio Docker - куда идут изображения и где работают контейнеры - PullRequest
0 голосов
/ 18 декабря 2018

В Docker для рабочего стола у меня выбран кластер Docker для рабочего стола (он работает на MobyLinuxVM на HyperV).

Однако, когда я иду в Visual Studio и собираю / отлаживаю проект, имеющий DockerПоддержка, затем запустите "Docker PS-A" из командной строки, я не вижу другой созданный контейнер.Размещает ли Visual Studio контейнер по умолчанию в отдельный кластер?

1 Ответ

0 голосов
/ 20 декабря 2018

Я установил проект docker-compose в качестве запускаемого проекта (не уверен, почему его еще не было).Кроме того, были проблемы с форматированием docker-compose.yml, которое я вызвал, пытаясь понять, почему он не работает.

Обратите внимание, что если вы не укажете сеть, docker-compose автоматически создаст мостовую сеть, которую будут использовать все сервисы в docker-compose (они должны использовать шлюз этой сети для просмотра сервисов на другомконтейнеры).Во всех сборках он часто увеличивает второй октет IP шлюза сетевого моста.Мой обходной путь к необходимости постоянно менять IP шлюза заключался в создании определяемой пользователем мостовой сети и добавлении следующего в конец docker-compose.yml (он используется всеми службами в файле):

networks:
  default:
    external:
      name: mybridgenetwork

Еще одна полезная вещь заключается в том, что я смог передать несколько переменных окружения одному сервису в docker-compose.yml, например так:

services:
   myservice1:
      "envVariable1" : "somevalue"
      "envVariable2" : "somevalue"

Кроме того, я смог вытащить его из локальногоРеестр Docker (если Kubernetes включен на Docker Desktop, вы можете установить контекст, с которым будет работать docker-compose, щелкнув правой кнопкой мыши значок Docker, перейдя в подменю kubernetes, затем выбрав контекст. Если вы не видите docker- composeтам, в контексте рабочего стола, введите команду «docker swarm init» из powershell или команду (запускается от имени администратора). Затем добавьте следующее в строки образа docker-compose.yml, чтобы получить сборку docker для обнаружения встроенных изображений в локальном Docker.для реестра Windows:

image: ${DOCKER_REGISTRY}TheImageNameYouWant

Обратите внимание, что имена контейнеровбудет называться dockercompose [некоторая случайная строка] _ [имя изображения выше].Вы можете увидеть эти запущенные контейнеры в powershell (как администратор), выполнив команду «docker ps -a».

И последнее: убедитесь, что Visual Studio / Tools / Options / Container Tools «Автоматически уничтожает контейнеры в решении».закрыть "проверено.Если вы считаете, что вам может понадобиться изменить docker-compose.yml перед первым запуском при запуске, снимите первые два флажка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...