DockerClient - це основний клас для взаємодії з Docker API. Він надає зручний інтерфейс для роботи з різними компонентами Docker, такими як контейнери, образи, мережі, томи та системні функції.
Sangezar\DockerClient
public function __construct(
?ClientConfig $config = null,
?ClientInterface $httpClient = null,
string $apiVersion = 'v1.47'
)
$config - (необов’язковий) Об’єкт конфігурації клієнта ClientConfig$httpClient - (необов’язковий) HTTP клієнт, що реалізує інтерфейс ClientInterface$apiVersion - Версія Docker API (за замовчуванням v1.47)public static function create(?ClientConfig $config = null): self
Створює новий екземпляр клієнта.
$config - (необов’язковий) Об’єкт конфігурації клієнта ClientConfigDockerClientpublic static function createTcp(
string $host,
?string $certPath = null,
?string $keyPath = null,
?string $caPath = null
): self
Створює клієнт для TCP-з’єднання з Docker API.
$host - Хост Docker API$certPath - (необов’язковий) Шлях до сертифіката$keyPath - (необов’язковий) Шлях до ключа$caPath - (необов’язковий) Шлях до CA сертифікатаDockerClient налаштований для TCP-з’єднанняpublic static function createUnix(string $socketPath = '/var/run/docker.sock'): self
Створює клієнт для з’єднання через Unix-сокет.
$socketPath - Шлях до Unix-сокета (за замовчуванням /var/run/docker.sock)DockerClient налаштований для Unix-сокет з’єднанняpublic function container(): ContainerInterface
Повертає API для роботи з контейнерами.
ContainerInterfacepublic function image(): ImageInterface
Повертає API для роботи з образами.
ImageInterfacepublic function system(): SystemInterface
Повертає API для роботи з системними функціями Docker.
SystemInterfacepublic function network(): NetworkInterface
Повертає API для роботи з мережами Docker.
NetworkInterfacepublic function volume(): VolumeInterface
Повертає API для роботи з томами Docker.
VolumeInterfaceuse Sangezar\DockerClient\DockerClient;
$client = DockerClient::createUnix();
use Sangezar\DockerClient\DockerClient;
$client = DockerClient::createTcp('tcp://docker-host:2375');
use Sangezar\DockerClient\DockerClient;
$client = DockerClient::createTcp(
'tcp://docker-host:2376',
'/path/to/cert.pem',
'/path/to/key.pem',
'/path/to/ca.pem'
);
use Sangezar\DockerClient\DockerClient;
$client = DockerClient::createUnix();
// Отримання списку контейнерів
$containers = $client->container()->list();
// Отримання списку образів
$images = $client->image()->list();
// Отримання інформації про Docker-систему
$info = $client->system()->info();
// Робота з мережами
$networks = $client->network()->list();
// Робота з томами
$volumes = $client->volume()->list();