Hej, mam dwie proste aplikacje backendowe napisane w Spring Boot i jedną apkę webową napisaną w Angularze
- Pierwsza aplikacja backendowa to users-a, pozwala zwrócić listę kilku userów, działa na porcie 8080
- Druga aplikacja to backendowa to users-b, pozwala zwrócić listę dodatkowych userów oraz tych z users-a (wysyła żądanie także do users-a i zwraca połączoną listę), działa na porcie 8080
Aplikacja webowa działa na porcie 80, pobiera listę użytkowników z aplikacji users-b (czyli i tych z users-a i tych z users-b) i wyświetla ją
Mój plik docker-compose.yml:
version: "3"
services:
users-a:
build: ./users-a
ports:
- 8001:8080
users-b:
build: ./users-b
ports:
- 8002:8080
depends_on:
- users-a
web-app:
build: ./web-app
ports:
- 8000:80
depends_on:
- users-b
Jak odpalam docker-compose up, budują się obrazy, potem usługi wstają poprawnie
Mogę za pomocą Postmana poprzez adres localhost:8001 w systemie gospodarza pobrać listę userów z users-a
Mogę za pomocą Postmana poprzez adres localhost:8002 w systemie gospodarza pobrać listę userów z users-b (czyli z obu - adres podawany w aplikacji users-b przy żądaniu do users-a to: http://users-a:8080/api/users)
Ale nie mogę wyświetlić tej listy, gdy wpisuję localhost:8000 w systemie gospodarza, to aplikacja wyświetla tylko nagłówki i informacje statyczne, a lista jest pusta. Użyty adres to http://users-b:8080/api/users (to samo co wcześniej, tylko b)
Wyświetla się błąd: ERR_NAME_NOT_RESOLVED w konsoli przeglądarki. Adres nie znaleziony.
Dodałem w aplikacji users-b adnotację @CrossOrigin na kontrolerze, żeby CORS'a nie wywalało
Jak to naprawić? Gdzie mam błąd? Ogarnia ktoś dockera? Pliska pomóżcie