JavaRush /Курси /Модуль 2: Fullstack /Створення та управління мережами

Створення та управління мережами

Модуль 2: Fullstack
Рівень 15 , Лекція 1
Відкрита

2.1 Основні команди docker network

Мережі в Docker дозволяють контейнерам взаємодіяти один з одним і з зовнішніми мережами. Команди docker network надають гнучкі можливості для створення, налаштування та управління мережами, забезпечуючи ізоляцію і контроль над мережевою взаємодією контейнерів. У цій лекції ми детально розглянемо команди docker network і їх використання для управління мережами.

Основні команди docker network:

  1. docker network create
  2. docker network ls
  3. docker network inspect
  4. docker network connect
  5. docker network disconnect
  6. docker network rm

Створення мережі: команда docker network create

Команда docker network create використовується для створення нових мереж. Ви можете створити мережі з різними драйверами, такими як bridge, host, overlay і macvlan.

Приклад створення мережі з драйвером bridge

Terminal


docker network create --driver bridge my_bridge_network 

Приклад створення мережі з драйвером overlay

Terminal


docker network create --driver overlay my_overlay_network 

Приклад створення мережі з драйвером macvlan

Terminal

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.

Terminal


docker network ls 

Результат виконання команди буде виглядати так:

Terminal


NETWORK ID          NAME                DRIVER              SCOPE
0e7e2d58fe94        bridge              bridge              local
9c84fdfc69ee        host                host                local
71cfb6a79d9e        none                null                local

2. Перегляд інформації про мережу: команда docker network inspect

Команда docker network inspect дозволяє отримати детальну інформацію про конкретну мережу, включаючи підключені контейнери, налаштування підмережі та шлюзу.

Приклад використання:

Terminal


docker network inspect my_bridge_network 

Результат команди міститиме інформацію про мережу у форматі JSON:

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 використовується для підключення вже запущеного контейнера до існуючої мережі.

Приклад використання:

Terminal


docker network connect my_bridge_network my_container 

4. Відключення контейнера від мережі: команда docker network disconnect

Команда docker network disconnect використовується для відключення контейнера від мережі.

Приклад використання:

Terminal


docker network disconnect my_bridge_network my_container 

5. Видалення мережі: команда docker network rm

Команда docker network rm використовується для видалення мережі. Зверни увагу, що видалити мережу можна лише після відключення усіх підключених до неї контейнерів.

Приклад використання:

Terminal


docker network rm my_bridge_network 

2.3 Приклади команд docker network

Приклади використання команд docker network

Приклад 1: Створення та використання bridge мережі

Створення мережі:

Terminal

docker network create --driver bridge my_bridge_network 

Запуск контейнерів і підключення їх до мережі:

Terminal

docker run -d --name container1 --network my_bridge_network nginx

docker run -d --name container2 --network my_bridge_network redis 

Перевірка мережі:

Terminal

docker network inspect my_bridge_network 

Вивід команди docker network inspect міститиме детальну інформацію про мережу у форматі JSON. Щоб зробити вивід більш зручним для читання, можна використовувати утиліту jq:

Terminal

docker network inspect my_bridge_network | jq

Це зручно для фільтрації та структурованого перегляду даних про мережу, таких як підключені контейнери, їх IP-адреси та налаштування підмережі.

Приклад 2: Підключення та відключення контейнерів

Запуск контейнера:

Terminal

docker run -d --name my_container nginx 

Підключення контейнера до мережі:

Terminal

docker network connect my_bridge_network my_container 

Відключення контейнера від мережі:

Terminal

docker network disconnect my_bridge_network my_container 
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ