Docker Network: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 61: | Строка 61: | ||
Подивитись що за мережа | Подивитись що за мережа | ||
− | docker inspect <name of net або її | + | docker inspect <name of net або її ID (з docker network ls)> |
Строка 72: | Строка 72: | ||
--gateway це шлюз для цієї мережі | --gateway це шлюз для цієї мережі | ||
myNet це назва мережі | myNet це назва мережі | ||
+ | |||
+ | Видалити мережі можна командою | ||
+ | |||
+ | docker network rm <назва або ID (з docker network ls)> можна вказати де кілька через пробел. |
Версия 16:11, 23 января 2024
Содержание
Docker Bridge
За замовчуванням створюється мережа цього типу. Треба пробросувати порти в цьому типу мережі якщо треба доступ зовні (параметр -p 80:80). Також можна під'єднатися локально.
docker0: 172.17.0.0/16
docker run nginx -p 80:80
В даному типі контейнери можуть мати зв'язок тільки через IP адреси, яки видаються через dhcp докером.
Можливо створити мережу. Це робиться так:
docker network create --drive bridge NETNAME, де: --drive - це тип мережі, в даному випадку це тип BRIDGE NAME - це назва мережі.
Вже є мережа з назвою "default" вона створюється автоматично, та контейнер буде в неї, якщо не вказати при запуску контейнера, ось так: docker run --net NAME nginx Якщо створювати контейнери не в default мережі, то контейнери можуть звертатися один до одного по імені (параметр --name при створювані). Однак між собою різні мережі не можуть мати зв'язок. Звісно якщо не робити його якимось сторонніми методами.
Docker Host
В цьому типу, контейнер отримує IP адресу хоста на якому він запускається. Треба указати тип мережі --network=host
Для цього типу треба указати параметр --network=host
docker run nginx --network=host
Створити мережу цього типу можливо так: docker network create --drive host NETNAME.
В цьому типі контейнери та хост можуть мати з'єднання між собою, вони використовують для цього IP адресу хоста.
В цьому типу може бути тільки одна мережа.
none
В цьому випадку не буде у контейнера мережевого інтерфейсу. Під'єднатися можливо тільки локально (параметр --it). docker run nginx --network=host
macvlan
В цьому типу у кожного контейнера свої мак адреси. IP адреси в цих контейнерах будуть унікальні для кожного контейнера.
ipvlan
В цьому типу у кожного контейнера буде один і той же MAC адрес, а IP адреси контейнерів будуть - різні.
overlay
Тут щось має бути
Команди роби з мережами
Подивитись які є мережі в Docker
docker network ls
Подивитись що за мережа
docker inspect <name of net або її ID (з docker network ls)>
Створити сої IP адреси можна так:
docker network create -d bridge --subnet 192.168.1.0/24 --gateway 192.168.1.1 myNet
де, параметр -d це скорочено від --drive --subnet це яка саме буде мережа --gateway це шлюз для цієї мережі myNet це назва мережі
Видалити мережі можна командою
docker network rm <назва або ID (з docker network ls)> можна вказати де кілька через пробел.