Maxim Isaev, у тебя он нормально выглядит. Только надо не loclhost использовать для подключения (ведь у каждого контейнера он свой), а имя сервиса, в твоём случае postgres.
networks добавлять нет необходимости - она будет создана автоматически и контейнеры будут подключены к ней.
Добавление networks имеет смысл только если надо явно задать IP адреса, чтобы. к примеру, обратный прокси мог напрямую к ним подключиться минуя docker-proxy.
Нет, с большой вероятностью это на роутере лимитер настроен. Смотреть на ICMP, не имея точной информации о топологии сети и конфигурации оборудования, смысла нет ни какого.
Это справедливо только в лабораторных условиях. В реалной жизни роутер может либо вовсе не отвечать на icmp, либо отвечать на лимитированное количество, таким образом mtr будет показывать "потери", но на реальном трафике это никак не отразиться.
Василий, если смотреть с высоты птичьего полёта, то не вдаваясь в детали, можно сказать и так.
Ещё можно сравнить с chroot, опять же не вдаваясь в детали.
Как-то так:
docker-compose exec app bash
илиdocker exec -it <имя_контейнера> bash
В прочем прям заходить не обязательно можно вместо bash сразу composer запускать.