te4g/docker-client
最新稳定版本:v1.51.2
Composer 安装命令:
composer require te4g/docker-client
包简介
A PHP client to interact with Docker API
README 文档
README
How to use
composer require te4g/docker-client
<?php require __DIR__ . '/vendor/autoload.php'; use Te4g\DockerClient\DockerClient; $client = DockerClient::create(); var_dump($client->containerList());
How to build
- Download the docker API definition from https://docs.docker.com/engine/api/latest/, save it as
open-api.yaml - Follow the instructions about how to use Jane to generate the PHP classes from the API definition: https://jane.readthedocs.io/en/latest/
a. Install the dependencies
composer require jane-php/open-api-runtime composer require symfony/http-client composer require --dev jane-php/open-api-2 composer require --dev friendsofphp/php-cs-fixer
b. Create the Jane configuration file.jane-openapi<?php return [ 'openapi-file' => __DIR__ . '/open-api.yaml', 'namespace' => 'Vendor\Library\Generated', 'directory' => __DIR__ . '/generated', ];
c. Generate the PHP classesphp vendor/bin/jane-openapi generate
- Update the
composer.jsonfile to include the generated classes{ "autoload": { "psr-4": { "Vendor\\Library\\Generated\\": "generated/" } } } - Run
composer dump-autoloadto update the autoloader - Try if it works by creating a new PHP file and adding the following code
<?php require __DIR__ . '/vendor/autoload.php'; use Symfony\Component\HttpClient\Psr18Client; $httpClient = (new Psr18Client())->withOptions([ 'base_uri' => 'http://localhost', 'bindto' => '/var/run/docker.sock' ]); $dockerClient = Vendor\Library\Generated\Client::create(httpClient: $httpClient); $containers = $dockerClient->containerList(); foreach ($containers as $container) { echo $container->getId() . "\n"; }
统计信息
- 总下载量: 34
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-12-04