vdauchy / docker-php-api
Requires
- php: >=5.5
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.12
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ~2.6
README
Docker Engine API 是由 Docker Engine 提供的 HTTP API。它是 Docker 客户端用来与 Engine 通信的 API,因此 Docker 客户端能做的所有事情都可以通过这个 API 完成。
大多数客户端命令直接映射到 API 端点(例如,docker ps
对应 GET /containers/json
)。一个值得注意的例外是运行容器,这需要多个 API 调用。
错误
API 使用标准的 HTTP 状态码来指示 API 调用的成功或失败。响应体将是以下格式的 JSON
{
\"message\": \"page not found\"
}
版本控制
API 通常在每个版本中都会更改,因此 API 调用都是版本化的,以确保客户端不会中断。要锁定到特定版本的 API,请在 URL 前缀加上其版本,例如,调用 /v1.30/info
来使用 /info
端点的 v1.30 版本。如果 URL 中指定的 API 版本不受守护进程支持,将返回 HTTP 400 Bad Request
错误消息。
如果您省略版本前缀,则使用当前版本的 API(v1.41)。例如,调用 /info
与调用 /v1.41/info
相同。在没有版本前缀的情况下使用 API 已被弃用,并将在未来版本中删除。
未来即将发布的 Engine 版本应支持此版本的 API,因此即使您的客户端在与更新的 Engine 通信,它也能继续工作。
API 使用开放的 schema 模型,这意味着服务器可能在响应中添加额外的属性。同样,服务器将忽略任何额外的查询参数和请求体属性。当您编写客户端时,您需要在响应中忽略额外的属性,以确保它们在与更新的守护进程通信时不会中断。
身份验证
注册表的身份验证由客户端处理。客户端必须将身份验证详细信息发送到需要与注册表通信的各种端点,例如 POST /images/(name)/push
。这些作为 X-Registry-Auth
标头发送,作为以下结构的 base64url 编码(JSON)字符串
{
\"username\": \"string\",
\"password\": \"string\",
\"email\": \"string\",
\"serveraddress\": \"string\"
}
serveraddress
是不带协议的域名/IP。在此结构中,双引号是必需的。
如果您已经从 /auth
端点 获取了身份验证令牌,则可以仅传递此令牌而不是凭据
{
\"identitytoken\": \"9cbaf023786cd7...\"
}
安装与使用
要求
PHP 7.3 及以上。也应与 PHP 8.0 兼容,但尚未经过测试。
Composer
要通过 Composer 安装绑定,请将以下内容添加到 composer.json
{ "repositories": [ { "type": "vcs", "url": "https://github.com/vdauchy/docker-php-api.git" } ], "require": { "vdauchy/docker-php-api": "^1.41" } }
然后运行 composer install
手动安装
下载文件并包含 autoload.php
<?php require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');
入门
请按照 安装过程 进行操作,然后运行以下命令
<?php require_once(__DIR__ . '/vendor/autoload.php'); $apiInstance = new OpenAPI\Client\Api\ConfigApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client() ); $body = new \OpenAPI\Client\Model\UNKNOWN_BASE_TYPE(); // \OpenAPI\Client\Model\UNKNOWN_BASE_TYPE try { $result = $apiInstance->configCreate($body); print_r($result); } catch (Exception $e) { echo 'Exception when calling ConfigApi->configCreate: ', $e->getMessage(), PHP_EOL; }
API 端点
所有 URI 都是相对于 https:///v1.41
模型
- 地址
- 认证配置
- 构建缓存
- 构建信息
- 构建修剪响应
- 集群信息
- 提交
- 配置
- 配置规范
- 容器变更响应项
- 容器配置
- 容器创建响应
- 容器检查响应
- 容器清理响应
- 容器状态
- 容器顶响应
- 容器更新响应
- 容器等待响应
- 容器等待响应错误
- 创建镜像信息
- 设备映射
- 设备请求
- 分发检查响应
- 分发检查响应描述符
- 分发检查响应平台
- 驱动器
- 端点IPAM配置
- 端点端口配置
- 端点设置
- 端点规范
- 引擎描述
- 引擎描述插件
- 错误详情
- 错误响应
- 执行检查响应
- 图形驱动器数据
- 健康
- 健康配置
- 健康检查结果
- 历史响应项
- 主机配置
- 主机配置所有项
- 主机配置所有项日志配置
- IPAM
- 身份响应
- 镜像
- 镜像删除响应项
- 镜像ID
- 镜像元数据
- 镜像清理响应
- 镜像根文件系统
- 镜像搜索响应项
- 镜像摘要
- 索引信息
- 内联对象
- 内联对象1
- 内联对象2
- 内联对象3
- 内联对象4
- 内联对象5
- 内联对象6
- 内联对象7
- 内联响应400
- 加入令牌
- 限制
- 本地节点状态
- 管理状态
- 挂载
- 挂载绑定选项
- 挂载点
- 挂载tmpfs选项
- 挂载卷选项
- 挂载卷选项驱动器配置
- 网络
- 网络附加配置
- 网络容器
- 网络创建响应
- 网络清理响应
- 网络设置
- 网络配置
- 节点
- 节点描述
- 节点规范
- 节点状态
- 节点状态
- 对象版本
- 对等节点
- 平台
- 插件
- 插件配置
- 插件配置参数
- 插件配置接口
- 插件配置Linux
- 插件配置网络
- 插件配置根文件系统
- 插件配置用户
- 插件设备
- 插件环境
- 插件接口类型
- 插件挂载
- 插件特权项
- 插件设置
- 插件信息
- 端口
- 端口绑定
- 进程配置
- 进度详情
- 推送镜像信息
- 可达性
- 注册表服务配置
- 资源对象
- 资源
- 资源Blkio权重设备
- 资源ulimit
- 重启策略
- 运行时
- 秘密
- 秘密规范
- 服务
- 服务创建响应
- 服务端点
- 服务端点虚拟IP
- 服务作业状态
- 服务服务状态
- 服务规范
- 服务规范模式
- 服务规范模式复制
- 服务规范模式复制作业
- 服务规范回滚配置
- 服务规范更新配置
- 服务更新响应
- 服务更新状态
- 群组
- 群组所有项
- 群组信息
- 群组规范
- 群组规范CA配置
- 群组规范CA配置外部CA
- 群组规范调度器
- 群组规范加密配置
- 群组规范编排
- 群组规范Raft
- 群组规范任务默认值
- 群组规范任务默认值日志驱动器
- 系统认证响应
- 系统数据使用响应
- 系统事件响应
- 系统事件响应演员
- 系统信息
- 系统信息默认地址池
- 系统版本
- 系统版本组件
- 系统版本平台
- TLS信息
- 任务
- 任务规范
- 任务规范容器规范
- 任务规范容器规范配置
- 任务规范容器规范DNS配置
- 任务规范容器规范文件
- 任务规范容器规范文件1
- 任务规范容器规范特权
- 任务规范容器规范特权凭证规范
- 任务规范容器规范特权SELinux上下文
- 任务规范容器规范秘密
- 任务规范日志驱动器
- 任务规范网络附加规范
- 任务规范放置
- 任务规范放置优先级
- 任务规范放置扩散
- 任务规范插件规范
- 任务规范资源
- 任务规范重启策略
- 任务状态
- 任务状态
- 任务状态容器状态
- 节流设备
- 解锁密钥响应
- 卷
- 卷配置
- 卷列表响应
- 卷清理响应
- 卷使用数据
授权
所有端点都不需要授权。
测试
要运行测试,请使用
composer install vendor/bin/phpunit
作者
关于此包
本PHP包由OpenAPI Generator项目自动生成
- API版本:
1.41
- 构建包:
org.openapitools.codegen.languages.PhpClientCodegen