我想知道有没有办法在没有docker daemon
.
我浏览了他们的文档和 Docker CLI 背后的一些源代码,但找不到答案。
我想直接对 Docker API 进行 HTTP/HTTPS 调用!我不想安装docker
CLI。这有可能吗?你能举个例子吗?
编辑:
我想进行 Docker Registry API 调用,而无需安装docker
来测试凭据,稍后我将用于docker login
命令。
我想知道有没有办法在没有docker daemon
.
我浏览了他们的文档和 Docker CLI 背后的一些源代码,但找不到答案。
我想直接对 Docker API 进行 HTTP/HTTPS 调用!我不想安装docker
CLI。这有可能吗?你能举个例子吗?
编辑:
我想进行 Docker Registry API 调用,而无需安装docker
来测试凭据,稍后我将用于docker login
命令。
我觉得你的问题有点混乱。没有Docker 守护程序就无法调用 Docker API ,因为 API是守护程序(或者至少,守护程序公开了 API)。
你当然可以在没有 Docker客户端的情况下请求(控制)API / 守护进程。只需直接在套接字 (unix:///var/run/docker.sock) 上触发您的请求。或者,如果您想将其公开为 HTTP(S 推荐),那么您可以通过更改守护程序启动选项来做到这一点,而是通过 HTTP(S)向该地址发送请求。
docker CLI 使用 Docker Engine API 与 docker 守护进程通信。最新版本为v1.41
CLI 和守护进程不需要在同一台机器上。通过设置 docker 上下文,您可以指示 docker CLI 与远程 docker 守护进程通信,因此无需在本地安装 Docker。同样,如果您使用curl
或任何其他 SDK 发出 Docker Engine API 调用,您可以使用 unix:///var/run/docker.sock 作为本地守护程序(如果已安装)或远程守护程序的 URL。
docker 守护进程使用 Docker Registry API 与 docker 注册表通信。最新版本是v2。Adocker pull alpine
告诉当前上下文https://registry-1.docker.io/v2
中的守护进程向DockerHub的端点发出 Docker Registry API 调用,同时docker pull registry.gitlab.com/username/image:tag
告诉守护进程向https://registry.gitlab.com/v2
您的私有 GitLab 容器注册表中的端点发出 Docker Registry API 调用。