云计算核心技术Docker教程:Docker使用Docker Engine API开发

云计算核心技术Docker教程:Docker使用Docker Engine API开发
2021年03月15日 17:49 TechWeb

原标题:云计算核心技术Docker教程:Docker使用Docker Engine API开发

Docker提供了一个用于与Docker守护进程进行交互的API(称为Docker Engine API),以及用于Go和Python的SDK。使用SDK,您可以快速轻松地构建和扩展Docker应用程序和解决方案。如果Go或Python不适用于您,则可以直接使用Docker Engine API。

Docker Engine API是一种RESTful API,可通过HTTP客户端(例如wget或 curl)或HTTP库(大多数现代编程语言的一部分)进行访问。

版本化的API和SDK

您应使用的Docker Engine API的版本取决于Docker守护程序和Docker客户端的版本。

给定版本的Docker Engine SDK支持特定版本的Docker Engine API,以及所有早期版本。如果发生重大变化,则会在显眼位置进行记录。

Docker守护程序和客户端不必始终保持相同版本。但是,请记住以下几点。

1.如果守护程序比客户端新,则客户端不知道守护程序中的新功能或不推荐使用的API端点。

2.如果客户端比守护程序新,则客户端可以请求守护程序不知道的API端点。

添加新功能后,将发布API的新版本。Docker API向后兼容,因此除非需要利用新功能,否则无需更新使用该API的代码。

要查看您的Docker守护程序和客户端支持的API的最高版本,请使用 docker version;

您可以通过以下方式之一指定要使用的API版本:

1.使用SDK时,请使用最新版本,但至少要使用将API版本与所需功能结合在一起的版本。

2.curl直接使用时,将版本指定为URL的第一部分。例如,如果端点为/containers/,则可以使用 /v1.41/containers/。

3.要强制Docker CLI或Docker Engine SDK使用比API报告的版本更旧的API版本docker version,请将环境变量DOCKER_API_VERSION设置为正确的版本。这适用于Linux,Windows或macOS客户端。

DOCKER_API_VERSION='1.41'

设置环境变量后,即使Docker守护程序支持较新的版本,也会使用该版本的API。此环境变量禁用API版本协商,因此,仅当必须使用特定版本的API或用于调试时,才应使用此环境变量。

4.Docker Go SDK允许您启用API版本协商,自动选择客户端和所使用的Docker Engine都支持的API版本。

5.对于SDK,您还可以通过编程方式指定API版本,作为client对象的参数。请参阅 Go构造函数 或的 Python SDK文档client。

SDK云计算Docker
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片