ссылки:
1 |
https://linux-notes.org/rabota-s-setju-networking-v-docker/ |
драйверы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
bridge: Мост, — это сетевой драйвер по умолчанию. Бридж сеть используется, когда ваши приложения запускаются в автономных контейнерах, которые должны взаимодействовать между собой (Наглядный пример Nginx + MySQL). Лучше всего использовать для связи нескольких контейнеров на одном и том же Docker хосте. Можно юзать docker-compose и выберать даную сеть для такой связки host: Хост, — это сетевой драйвер для автономных контейнеров (удаленная сетевая изоляция между контейнером и Docker хостом). Данный драйвер доступен только для docker-swarm с поддержкой Docker 17.06 и выше. Лучше всего использовать, когда сетевой стек не должен быть изолирован от хоста Docker, но вы хотите, чтобы другие аспекты контейнера были изолированы. overlay/overlay2: Оверлей (Наложенная сеть), или наложение сетей — это сетевой драйвер для соединения несколько демонов Docker между собой и которые позволяют docker-swarm службам взаимодействовать друг с другом. Вы также можете использовать оверлейные сети для облегчения связи между docker-swarm и автономным контейнером или между двумя отдельными контейнерами на разных Docker демонах. Эта стратегия устраняет необходимость выполнения маршрутизации на уровне ОС между этими контейнерами. Лучше всего использовать, когда вам нужны контейнеры, работающие на разных Docker хостах для связи, или, когда несколько приложений работают вместе, используя docker-swarm. macvlan: Маквлан,- это сетевой драйвер, который позволяют назначать MAC-адрес контейнеру, делая его отображаемым как физическое устройство в вашей сети. Docker демон направляет трафик на контейнеры по их MAC-адресам. Использование macvlan драйвера иногда является лучшим выбором при работе с устаревшими приложениями, которые ожидают, что они будут напрямую подключены к физической сети. Лучше всего использовать, когда вы переходите с VM/дедикейта на контейнеры или хотите, чтобы ваши контейнеры выглядели как физические хосты в вашей сети, каждый с уникальным MAC-адресом. none: Нон,- это сетевой драйвер, который умеет отключать всю сеть для контейнеров. Обычно используется в сочетании с пользовательским сетевым драйвером. Network plugins: Вы можете установить и использовать сторонние сетевые плагины с Docker контейнерами. Эти плагины доступны в Docker Store или у сторонних поставщиков услуг. Сторонние сетевые плагины позволяют интегрировать Docker со специализированными сетевыми стеками. |
docker network ls
1 2 3 4 5 6 |
docker network ls - просмотреть сети в Docker NETWORK ID — При создании сети, ей присваивается ID. Так это собственно идентификатор сети. NAME — Имя сети. Можно задать произвольное имя. DRIVER — Используемый драйвер для созданной сети. SCOPE — Где используется. |
docker network create —driver=NAME NAME-NET
1 2 3 4 5 6 7 8 9 |
docker network create bridge-network - создать сеть bridge-network в Docker (по умолчанию создается bridge) docker network create --driver=bridge bridge-network - создать сеть bridge-network в Docker (--driver можно указать bridge, overlay, host, none ) docker network create -d overlay my-multihost-network - создать сеть оверлей docker network create --driver=overlay overlay_network - создать сеть оверлей docker network create -d macvlan --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 my-macvlan-net - создать сеть macvlan docker network create --subnet 10.1.0.0/16 --gateway=10.1.0.1 --ip-range 10.1.4.0/24 --driver=bridge --label=host4networks brifge04 - создать сеть bridge docker run -it --name=test_brifge04 --net brifge04 centos:centos7 /bin/bash - проверка docker run -it --name=test_brifge04_2 --net brifge04 --ip=10.1.4.100 centos:centos7 /bin/bash - проверка контейнеру даем статический ip |
docker network connect | disconnect
1 2 3 4 5 |
docker network connect YOUR_NETWORK YOUR_CONTAINER - подключить контейнер(ы) к сети в Docker docker network disconnect YOUR_NETWORK YOUR_CONTAINER - отключить контейнер(ы) от сети в Docker YOUR_NETWORK — Сеть YOUR_CONTAINER — Контейнер |
docker network inspect
1 |
docker network inspect bridge-network - позволяет получить подробную информацию о сети с имене bridge-network в Docker |
docker network rm
1 |
docker network rm YOUR_NETWORK - удаление сети YOUR_NETWORK в Docker |