Для начала нужно получить id контейнера либо его имя. Можно воспользоваться командой:
docker-compose ps
Затем получаем информацию и фильтруем нужные значения:
docker inspect service_name | grep "IPAddress"
Результат будет примерно таким:
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "172.19.0.3",
Теперь чтобы посмотреть через какой бридж выполняется соединение:
ip a | grep '172.19.0'
На выходе:
inet 172.19.0.1/16 brd 172.19.255.255 scope global br-f5b483d2e488
Существуют и более правильные решения, например, с использованием опции —format. Если контейнер подключен к дефолтной сети:
docker inspect --format {{.NetworkSettings.IPAddress}} portainer
Чтобы показать ip-адреса из всех сетей:
docker inspect mycontainer -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
Или из конкретной сети mycontainer_default:
docker inspect --format {{.NetworkSettings.Networks.mycontainer_default.IPAddress}} mycontainer
Также можно указать имена нескольких контейнеров через пробел. Подробнее о синтаксисе форматирования можно почитать здесь: https://docs.docker.com/engine/reference/commandline/inspect/