lowel / docker-api-php-sdk
Docker Engine API PHP SDK
1.1.0
2024-06-03 11:59 UTC
Requires
- php: ^8.3
- ext-curl: *
- guzzlehttp/guzzle: ^7.8
- symfony/http-foundation: ^7.1
Requires (Dev)
- pestphp/pest: ^2.16
This package is auto-updated.
Last update: 2024-10-03 12:53:09 UTC
README
安装
当前库已测试在 docker 1.41 API 版本上!
composer require lowel/docker-api-php-sdk
支持的客户端
SDK 支持
- 手动 PSR-7 客户端;
- 手动响应处理器,返回 DTO 对象(看起来像 Lowel\Docker\Response\DTO),而不是 ResponseInterface,并抛出一些 Lowel\Docker\Exceptions 的自定义异常;
- 基于 Guzzle 库的异步客户端,返回承诺;
- 异步响应处理器,与手动响应处理器相同,但返回类型是承诺。
您可以使用 Lowel\Docker\ClientFactory 初始化所有客户端。
$clientFactory = new \Lowel\Docker\ClientFactory(); $client = $clientFactory->getClient(); $clientWithHandler = $clientFactory->getClientWithHandler(); $asyncClient = $clientFactory->getAsyncClient(); $asyncClientWithHandler = $clientFactory->getAsyncClientWithHandler(); $client->containerList(); $clientWithHandler->containerInspect('container-name'); $asyncClient->containerStart('container-name'); $asyncClientWithHandler->containerStop('container-name'); $asyncClient->wait(); $asyncClientWithHandler->wait();
配置
您可以通过设置 DOCKER_API_VERSION 全局环境变量来切换默认的 Docker API 版本;
// Client factory use default value '1.41v' $_ENV['DOCKER_API_VERSION'] = '1.43v'
此外,您系统中应该有 /var/run/docker.sock。这是 Docker socker 的默认路径。