Docker отвечает именами контейнеров в сети, которую создаёшь ты. Здесь — как её создать и подключить к ней контейнеры.
docker network create <имя> создаёт свою сеть. В ней работает DNS Docker: в /etc/resolv.conf каждого её контейнера стоит nameserver 127.0.0.11, и этот сервер знает имена всех контейнеров сети. Имя видно только внутри сети: контейнер из другой сети его не найдёт.
Контейнер попадает в сеть при создании — ключом --network у docker run — или на ходу, командой docker network connect: перезапуск для этого не нужен. Сетей у контейнера может быть несколько.
Научи app находить базу
Сделай так, чтобы app подключался к db по имени: sudo docker exec app nc -w 2 db 5432 должна печатать db: ok. Контейнеры работают, пересоздавать их не нужно.
Цели · 0 из 2
- Дать app подключиться к db по имени ещё не выполнена
- Связать app и db сетью Docker ещё не выполнена