gpt4 book ai didi

rest - 如何使用 REST API 与 Docker 引擎交互?

转载 作者:可可西里 更新时间:2023-11-01 15:28:02 31 4
gpt4 key购买 nike

我们可以使用命令 docker images 来列出我们在本地主机上的 Docker 镜像。

现在我想通过在 Firefox 或 Chrome 中发送 HTTP GET 请求从远程服务器获取相同的信息。 Docker 是否提供一些 REST API 来执行此操作?

我做了很多搜索。例如: Examples using the Docker Engine SDKs and Docker API

它提供了这样的方式:

curl --unix-socket /var/run/docker.sock http:/v1.24/containers/json

我对 Unix 套接字略有了解,但我认为这不是我想要的。 URL (http:/v1.24/containers/json) 太奇怪了,甚至没有服务器名称。我不认为它可以在远程服务器上工作。 (它确实适用于本地服务器。)

Docker 是否提供关于此主题的任何官方文档?

最佳答案

您需要在端口上公开 Docker 守护进程。

You can configure the Docker daemon to listen to multiple sockets at the same time using multiple -H options:

listen using the default Unix socket, and on two specific IP addresses on this host.

$ sudo dockerd -H unix:///var/run/docker.sock -H tcp://192.168.59.106 -H tcp://10.10.10.2

The Docker client will honor the DOCKER_HOST environment variable to set the -H flag for the client. Use one of the following commands:

https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-socket-option

您需要通过创建一个 systemd dropin 来做到这一点:

mkdir -p /etc/systemd/system/docker.service.d/
cat > /etc/systemd/system/docker.service.d/10_docker.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2376
EOF

然后重新加载并重启 Docker:

systemctl daemon-reload
systemctl restart docker

注意:这样你会暴露你的主机,你不应该在生产中这样做。请在我之前分享的链接上阅读更多相关信息。

关于rest - 如何使用 REST API 与 Docker 引擎交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46108273/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com