У меня есть 3 контейнера с именами 'mysolution.ui', 'mysolution.webapi' и 'sql'.
Контейнер 'sql' был создан вручную с помощью командной строки. Контейнеры «mysolution.ui» и «mysolution.webapi» были созданы с помощью файла docker compose, созданного с использованием VS2019. Содержимое файла выглядит следующим образом:
version: '3.4'
services:
mysolution.ui:
image: ${DOCKER_REGISTRY-}mysolutionui
build:
context: .\mysolution.ui
dockerfile: Dockerfile
depends_on:
- mysolution.webapi
mysolution.webapi:
image: ${DOCKER_REGISTRY-}mysolutionwebapi
build:
context: .\mysolution.webapi
dockerfile: Dockerfile
Проект пользовательского интерфейса пытается вызвать webapi, но, глядя на консоль Chrome, я получаю сообщение об ошибке; "Не удалось загрузить ресурс: net :: ERR_NAME_NOT_RESOLVED". Если я пытаюсь получить доступ к тому же URL в браузере, он не может получить доступ к URL.
URL, к которому он пытается получить доступ; http://mysolution.webapi/api/v1/Test
С помощью команды docker inspect я получаю IP-адрес для контейнера webapi и заменяю имя контейнера на IP-адрес (например, http://172.23.80.1/api/v1/Test) и браузер правильно обращается к webapi.
Если я пытаюсь выполнить команду 'docker exe c -ti mysolution.ui ping mysolution.webapi', я получаю сообщение об ошибке "Ошибка: такого контейнера нет : mysolution.ui ". Аналогично, если я переворачиваю имена контейнеров, я получаю похожую ошибку; «Ошибка: Нет такого контейнера: mysolution.webapi».
Если я подставляю идентификатор контейнера для имени первого контейнера, например, «docker exe c -ti 0cd64b8a43a2 ping mysolution.webapi» контейнер проверен правильно Если я подставлю имя созданного вручную контейнера 'sql', это также будет корректно пропинговать, например, 'docker exe c -ti sql ping mysolution.webapi'.
Пожалуйста, кто угодно предложить какие-либо указатели на то, почему псевдонимы, определенные в docker compose, не работают?