Linux Labs

Контейнеры: Docker и compose / Ступень 7 из 11

Сеть контейнеров: имена и порты

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 6 · на машине · 6 мин

Своя сеть: имена работают

Docker отвечает именами контейнеров в сети, которую создаёшь ты. Здесь — как её создать и подключить к ней контейнеры.

docker network create <имя> создаёт свою сеть. В ней работает DNS Docker: в /etc/resolv.conf каждого её контейнера стоит nameserver 127.0.0.11, и этот сервер знает имена всех контейнеров сети. Имя видно только внутри сети: контейнер из другой сети его не найдёт.

Контейнер попадает в сеть при создании — ключом --network у docker run — или на ходу, командой docker network connect: перезапуск для этого не нужен. Сетей у контейнера может быть несколько.

bash
sudo docker network create backnet          # своя сеть
sudo docker run -d --name worker --network backnet busybox sleep 600
sudo docker network connect backnet cache   # подключить работающий
sudo docker network inspect backnet         # кто в сети, адреса
Упражнение · сделать

Научи app находить базу

Сделай так, чтобы app подключался к db по имени: sudo docker exec app nc -w 2 db 5432 должна печатать db: ok. Контейнеры работают, пересоздавать их не нужно.

Войти и начать Машина доступна после входа

Цели · 0 из 2

  • Дать app подключиться к db по имени ещё не выполнена
  • Связать app и db сетью Docker ещё не выполнена

Цели шага

0 из 2
  • Дать app подключиться к db по имени — ещё не выполнена
  • Связать app и db сетью Docker — ещё не выполнена
Ubuntu 24.04

Цели шага

0 из 2
  • Дать app подключиться к db по имени — ещё не выполнена
  • Связать app и db сетью Docker — ещё не выполнена
Загрузка…