Я использую docker compose с настройкой нескольких контейнеров. У меня есть приложение angular, развернутое на nginx и подключенное к порту 80. Во втором контейнере я размещаю .note core API, этот сервис возвращает строку.
В angular, я звоню по URL http://localhost/api/values
Посмотрите на мой прикрепленный файл docker compose.yml. С моей текущей настройкой, когда я нажимаю "http://localhost: 81 " в моем локальном браузере, я получаю желаемый результат.
Но в приложении Angular (http://localhost/api/values), вместо того, чтобы использовать «localhost», я хотел использовать «webapi» (http://webapi/api/values), я пробовал всевозможные варианты, но я не получаю желаемого результата. До сих пор я пытался использовать hostname, container_name, aliases и т. Д. c
Буду признателен, если вы укажете здесь на мою ошибку и поможете мне получить желаемый результат. Кроме того, я был бы признателен, если бы вы предложили лучший вариант, если мы запускаем несколько экземпляров в сервисе. net.
Как только эта проблема будет решена, я планирую развернуть ее на Azure, будут ли мне нужны какие-либо дополнительные настройки / конфигурации?
Вот мой файл yml
Заранее спасибо.
version: '3.7'
services:
web:
build: hello
container_name: web
hostname: web
image: jayforu/hello
networks:
backend:
#aliases:
# - web
# ipv4_address: 172.16.238.01
ports:
- 81:80
webapi:
build: HelloApi
container_name: webapi
hostname: webapi
image: jayforu/helloapi
networks:
backend:
#aliases:
# - webapi
#ipv4_address: 172.16.238.02
ports:
- 80:80
networks:
backend:
# ipam:
driver: bridge
# config:
# - subnet: "172.16.238.0/24"