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
- (необов’язковий) Об’єкт конфігурації клієнта ClientConfig
DockerClient
public 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 для роботи з контейнерами.
ContainerInterface
public function image(): ImageInterface
Повертає API для роботи з образами.
ImageInterface
public function system(): SystemInterface
Повертає API для роботи з системними функціями Docker.
SystemInterface
public function network(): NetworkInterface
Повертає API для роботи з мережами Docker.
NetworkInterface
public function volume(): VolumeInterface
Повертає API для роботи з томами Docker.
VolumeInterface
use 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();