Docker заботится о сетевых аспектах, так что контейнеры могут коммуницировать друг с другом, а также с хостом Docker. Если вы пропишите ifconfig на хосте Docker, то увидите Ethernet адаптер Docker, который создаётся во время установки Docker на хост Docker.
Это мост между хостом Docker и хостом Linux. Теперь давайте детальнее рассмотрим некоторые команды, связанные с сетью в Docker.
Перечисление всех сетей Docker
Команда ниже может быть использована для вывода списка всех сетей на хосте Docker:
docker network ls
Данная команда выведет все сети на хосте Docker.
Пример
sudo docker network ls
Пример вывода:
Проверка сети Docker
Если вы хотите увидеть более подробную информацию о сети, связанной с Docker, вы можете использовать команду Docker network inspect.
docker network inspect networkname
- networkname — это имя сети, которую необходимо проверить.
Вывод вернёт подробную информацию о сети.
Пример
sudo docker network inspect bridge
Пример вывода:
Теперь давайте запустим контейнер и посмотрим, что произойдёт, когда мы снова проверим сеть. Воспользуемся следующей командой:
sudo docker run –it ubuntu:latest /bin/bash
Теперь, если мы проверим имя нашей сети с помощью следующей команды, мы увидим, что контейнер подключился к мосту:
sudo docker network inspect bridge
Создание своей собственной новой сети
Можно создать сеть в Docker перед запуском контейнеров с помощью следующей команды:
docker network create –-driver drivername name
- drivername — имя сетевого драйвера.
- name — имя сети.
Вывод вернёт ID сети.
Пример
sudo docker network create –-driver bridge new_nw
Пример вывода:
Вы можете подключить новую сеть во время запуска контейнера с помощью следующей команды:
sudo docker run –it –network=new_nw ubuntu:latest /bin/bash
И теперь, когда вы проверите сеть с помощью следующей команды, вы увидите, что контейнер подключён к сети:
sudo docker network inspect new_nw
Источник: Docker — Networking