API 和 CLI 之间的区别

May*_*kar 4 api command-line-interface

我正在研究 docker/K8s 和 openstack。我不断遇到 CLI 和 API 这两个术语,但无法准确理解两者之间的区别是什么?关于这个问题还有其他一些帖子,但没有一个真正澄清。如果可能,请发布示例。

SRI*_*RAN 6

CLI命令界面的缩写。它与GUI (图形用户界面完全相反,GUI中的命令通常使用鼠标完成。

CLI是一个程序,它接受命令形式的输入并在设备上执行。希望您熟悉命令提示符命令提示符有多种类型。在命令提示符中,您输入命令,它会给您输出。例如,在命令提示符中,如果您输入ls命令,它将为您提供尝试执行此命令的文件夹中的文件列表。请注意,CLI 的输入称为“命令”。在问题的上下文中,如果您已经安装了 docker,您可以尝试的最简单的 CLI 示例是 docker --help。在GUI中,您可以用鼠标按 (?) 按钮来产生相同的效果。

API是应用程序编程接口缩写。

正如首字母缩略词所示,它是客户端和服务之间的接口。它将让客户端与公开端点的服务器进行通信。客户端访问这些端点来获取他们需要的数据。

API 通常通过 http(s) 公开。API 的一个很好的例子是 Facebook 的开发者 API。

https://graph.facebook.com/{your-user-id}
?fields=birthday,email,hometown
&access_token={your-user-access-token}
Run Code Online (Sandbox Code Playgroud)

如果您点击此 API 端点,您将获得数据。当然,您需要替换您的用户 ID 和访问令牌的值。要获取访问令牌并使用 facebook api,请参阅此处

在问题的上下文中,docker 中的一个简单的 API 是/containers/json.

docker中的大部分命令都映射到API。这意味着,即使您在命令提示符(或 bash)中执行命令,它也会在下面转换为 API 调用。您可以在此处阅读有关此内容的更多信息。

希望这能回答您的问题。

干杯。