Docker Network: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 51: | Строка 51: | ||
==overlay== | ==overlay== | ||
+ | Тут щось має бути | ||
+ | |||
+ | ==Команди роби з мережами== | ||
Подивитись які є мережі в Docker | Подивитись які є мережі в Docker | ||
Строка 59: | Строка 62: | ||
docker inspect <name of net або її id (з 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 це назва мережі |
Версия 16:08, 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 це назва мережі