Клас NetworkConfig
є частиною простору імен Sangezar\DockerClient\Config
і надає зручний інтерфейс для налаштування Docker мереж.
namespace Sangezar\DockerClient\Config;
Клас NetworkConfig
дозволяє створювати та налаштовувати конфігурації мереж Docker, які можуть бути використані API клієнтом для створення нових мереж.
$networkConfig = NetworkConfig::create();
Статичний метод для створення нового екземпляра конфігурації мережі.
$networkConfig = NetworkConfig::create();
Встановлює ім’я мережі.
Параметри:
$name
- Ім’я мережіВинятки:
InvalidParameterValueException
- якщо ім’я мережі порожнє або недійсне.$networkConfig->setName('my-network');
Встановлює драйвер мережі.
Параметри:
$driver
- Драйвер мережі. Допустимі значення:
bridge
- стандартний містhost
- використовує мережевий стек хостаoverlay
- оверлейна мережаmacvlan
- мережа MAC VLANipvlan
- мережа IP VLANnone
- без мережіВинятки:
InvalidParameterValueException
- якщо драйвер невідомий.$networkConfig->setDriver('bridge');
Вмикає або вимикає підтримку IPv6.
Параметри:
$enable
- true
для ввімкнення IPv6, false
для вимкнення.$networkConfig->setEnableIPv6(true);
Встановлює, чи повинна мережа бути внутрішньою.
Параметри:
$internal
- true
для внутрішньої мережі, false
для зовнішньої.$networkConfig->setInternal(true);
Встановлює, чи можуть контейнери бути підключені до мережі.
Параметри:
$attachable
- true
, якщо контейнери можуть приєднуватися, інакше false
.$networkConfig->setAttachable(true);
Встановлює область видимості мережі.
Параметри:
$scope
- Область видимості мережі. Допустимі значення:
local
- локальна мережаswarm
- мережа роюglobal
- глобальна мережаВинятки:
InvalidParameterValueException
- якщо область видимості невідома.$networkConfig->setScope('local');
Додає підмережу до конфігурації IPAM.
Параметри:
$subnet
- Підмережа у форматі CIDR (наприклад, 192.168.0.0/24)$gateway
- IP-адреса шлюзу (опціонально)$ipRange
- Діапазон IP у форматі CIDR (опціонально)Винятки:
InvalidParameterValueException
- якщо параметри недійсні.$networkConfig->addSubnet('192.168.1.0/24', '192.168.1.1');
Встановлює драйвер IPAM.
Параметри:
$driver
- Драйвер IPAM. Допустимі значення:
default
- стандартний драйверnull
- нульовий драйверВинятки:
InvalidParameterValueException
- якщо драйвер невідомий.$networkConfig->setIpamDriver('default');
Додає опцію драйвера.
Параметри:
$key
- Ключ опції$value
- Значення опції$networkConfig->addOption('com.docker.network.bridge.name', 'my-bridge');
Додає мітку до мережі.
Параметри:
$key
- Ключ мітки$value
- Значення мітки$networkConfig->addLabel('com.example.description', 'Мережа для веб-додатків');
Перетворює конфігурацію у масив для API Docker.
Винятки:
InvalidConfigurationException
- якщо конфігурація недійсна.Повертає:
array<string, mixed>
- Масив конфігурації для API Docker.$configArray = $networkConfig->toArray();
use Sangezar\DockerClient\Config\NetworkConfig;
// Створення конфігурації мережі
$networkConfig = NetworkConfig::create()
->setName('my-web-network')
->setDriver('bridge')
->setEnableIPv6(true)
->addSubnet('192.168.0.0/24', '192.168.0.1')
->addLabel('environment', 'production')
->addOption('com.docker.network.bridge.enable_icc', 'true');
// Перетворення на масив для API Docker
$configArray = $networkConfig->toArray();
// Створення мережі за допомогою API клієнта
$dockerClient->networks()->create($networkConfig);