Если вы используете Docker compose для предоставления контейнеров, вы можете использовать имена служб в качестве имен контейнеров и общаться.
Вот пример docker compose file.
версия: "3"
services:
web:
build: .
ports:
- "8000:80"
depends_on:
- db
db:
image: "mcr.microsoft.com/mssql/server"
environment:
SA_PASSWORD: "Your_password123"
ACCEPT_EULA: "Y"
И имя сервера SQL можно указать как db в строке подключения. Точно так же вы можете создать сервер API и использовать имя сервиса.