docker-php-client

Документація класу DockerClient

Опис

DockerClient - це основний клас для взаємодії з Docker API. Він надає зручний інтерфейс для роботи з різними компонентами Docker, такими як контейнери, образи, мережі, томи та системні функції.

Простір імен

Sangezar\DockerClient

Методи

Конструктор

public function __construct(
    ?ClientConfig $config = null,
    ?ClientInterface $httpClient = null,
    string $apiVersion = 'v1.47'
)

Параметри:

Статичні методи створення

create

public static function create(?ClientConfig $config = null): self

Створює новий екземпляр клієнта.

Параметри:
Повертає:

createTcp

public static function createTcp(
    string $host,
    ?string $certPath = null,
    ?string $keyPath = null,
    ?string $caPath = null
): self

Створює клієнт для TCP-з’єднання з Docker API.

Параметри:
Повертає:

createUnix

public static function createUnix(string $socketPath = '/var/run/docker.sock'): self

Створює клієнт для з’єднання через Unix-сокет.

Параметри:
Повертає:

Методи доступу до API

container

public function container(): ContainerInterface

Повертає API для роботи з контейнерами.

Повертає:

image

public function image(): ImageInterface

Повертає API для роботи з образами.

Повертає:

system

public function system(): SystemInterface

Повертає API для роботи з системними функціями Docker.

Повертає:

network

public function network(): NetworkInterface

Повертає API для роботи з мережами Docker.

Повертає:

volume

public function volume(): VolumeInterface

Повертає API для роботи з томами Docker.

Повертає:

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

Підключення через Unix-сокет (найпоширеніший спосіб)

use Sangezar\DockerClient\DockerClient;

$client = DockerClient::createUnix();

Підключення через TCP

use Sangezar\DockerClient\DockerClient;

$client = DockerClient::createTcp('tcp://docker-host:2375');

Підключення через TCP з TLS

use Sangezar\DockerClient\DockerClient;

$client = DockerClient::createTcp(
    'tcp://docker-host:2376',
    '/path/to/cert.pem',
    '/path/to/key.pem',
    '/path/to/ca.pem'
);

Використання різних API клієнта

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();