docker-php-client

NetworkConfig

Клас NetworkConfig є частиною простору імен Sangezar\DockerClient\Config і надає зручний інтерфейс для налаштування Docker мереж.

Простір імен

namespace Sangezar\DockerClient\Config;

Опис

Клас NetworkConfig дозволяє створювати та налаштовувати конфігурації мереж Docker, які можуть бути використані API клієнтом для створення нових мереж.

Створення екземпляру

$networkConfig = NetworkConfig::create();

Методи

create(): self

Статичний метод для створення нового екземпляра конфігурації мережі.

$networkConfig = NetworkConfig::create();

setName(string $name): self

Встановлює ім’я мережі.

Параметри:

Винятки:

$networkConfig->setName('my-network');

setDriver(string $driver): self

Встановлює драйвер мережі.

Параметри:

Винятки:

$networkConfig->setDriver('bridge');

setEnableIPv6(bool $enable = true): self

Вмикає або вимикає підтримку IPv6.

Параметри:

$networkConfig->setEnableIPv6(true);

setInternal(bool $internal = true): self

Встановлює, чи повинна мережа бути внутрішньою.

Параметри:

$networkConfig->setInternal(true);

setAttachable(bool $attachable = true): self

Встановлює, чи можуть контейнери бути підключені до мережі.

Параметри:

$networkConfig->setAttachable(true);

setScope(string $scope): self

Встановлює область видимості мережі.

Параметри:

Винятки:

$networkConfig->setScope('local');

addSubnet(string $subnet, ?string $gateway = null, ?string $ipRange = null): self

Додає підмережу до конфігурації IPAM.

Параметри:

Винятки:

$networkConfig->addSubnet('192.168.1.0/24', '192.168.1.1');

setIpamDriver(string $driver): self

Встановлює драйвер IPAM.

Параметри:

Винятки:

$networkConfig->setIpamDriver('default');

addOption(string $key, string $value): self

Додає опцію драйвера.

Параметри:

$networkConfig->addOption('com.docker.network.bridge.name', 'my-bridge');

addLabel(string $key, string $value): self

Додає мітку до мережі.

Параметри:

$networkConfig->addLabel('com.example.description', 'Мережа для веб-додатків');

toArray(): array

Перетворює конфігурацію у масив для 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);