2.1 Основні команди docker network
Мережі в Docker дозволяють контейнерам взаємодіяти один з одним і з зовнішніми мережами. Команди docker network надають гнучкі можливості для створення, налаштування та управління мережами, забезпечуючи ізоляцію і контроль над мережевою взаємодією контейнерів. У цій лекції ми детально розглянемо команди docker network і їх використання для управління мережами.
Основні команди docker network:
- docker network create
- docker network ls
- docker network inspect
- docker network connect
- docker network disconnect
- docker network rm
Створення мережі: команда docker network create
Команда docker network create використовується для створення нових мереж. Ви можете створити мережі з різними драйверами, такими як bridge, host, overlay і macvlan.
Приклад створення мережі з драйвером bridge
docker network create --driver bridge my_bridge_network
Приклад створення мережі з драйвером overlay
docker network create --driver overlay my_overlay_network
Приклад створення мережі з драйвером macvlan
docker network create --driver macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 my_macvlan_network
2.2 Команди роботи з мережею
1. Перегляд доступних мереж: команда docker network ls
Команда docker network ls відображає список усіх мереж, створених у Docker.
docker network ls
Результат виконання команди буде виглядати так:
NETWORK ID NAME DRIVER SCOPE
0e7e2d58fe94 bridge bridge local
9c84fdfc69ee host host local
71cfb6a79d9e none null local
2. Перегляд інформації про мережу: команда docker network inspect
Команда docker network inspect дозволяє отримати детальну інформацію про конкретну мережу, включаючи підключені контейнери, налаштування підмережі та шлюзу.
Приклад використання:
docker network inspect my_bridge_network
Результат команди міститиме інформацію про мережу у форматі JSON:
[
{
"Name": "my_bridge_network",
"Id": "0e7e2d58fe94",
"Created": "2021-01-01T00:00:00.000000000Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {
"container_id": {
"Name": "my_container",
"EndpointID": "6c52f8c75c1e",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
3. Підключення контейнера до мережі: команда docker network connect
Команда docker network connect використовується для підключення вже запущеного контейнера до існуючої мережі.
Приклад використання:
docker network connect my_bridge_network my_container
4. Відключення контейнера від мережі: команда docker network disconnect
Команда docker network disconnect використовується для відключення контейнера від мережі.
Приклад використання:
docker network disconnect my_bridge_network my_container
5. Видалення мережі: команда docker network rm
Команда docker network rm використовується для видалення мережі. Зверни увагу, що видалити мережу можна лише після відключення усіх підключених до неї контейнерів.
Приклад використання:
docker network rm my_bridge_network
2.3 Приклади команд docker network
Приклади використання команд docker network
Приклад 1: Створення та використання bridge мережі
Створення мережі:
docker network create --driver bridge my_bridge_network
Запуск контейнерів і підключення їх до мережі:
docker run -d --name container1 --network my_bridge_network nginx
docker run -d --name container2 --network my_bridge_network redis
Перевірка мережі:
docker network inspect my_bridge_network
Вивід команди docker network inspect міститиме детальну інформацію про мережу у форматі JSON. Щоб зробити вивід більш зручним для читання, можна використовувати утиліту jq:
docker network inspect my_bridge_network | jq
Це зручно для фільтрації та структурованого перегляду даних про мережу, таких як підключені контейнери, їх IP-адреси та налаштування підмережі.
Приклад 2: Підключення та відключення контейнерів
Запуск контейнера:
docker run -d --name my_container nginx
Підключення контейнера до мережі:
docker network connect my_bridge_network my_container
Відключення контейнера від мережі:
docker network disconnect my_bridge_network my_container
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ