我怎么能从容器中调用docker API(Docker for Mac)

首先我把docker.sock从mac安装到容器。 我想从容器中调用API

curl --unix-socket /var/run/docker.sock -X POST http:/v1.30/containers/xxxxx/restart?t=5 

然而, curl: option --unix-socket: is unknown发生此类错误。

我如何pipe理它?

检查您正在运行的curl版本。 在7.40版本中添加了--unix-socket选项。 如果您的版本较旧,则需要升级。

其他选项是用您select的语言编写一个使用Docker SDK的脚本。 你可以在https://docs.docker.com/engine/api/sdks看到支持的语言列表

最后,您可以将docker二进制文件安装到容器中。 如果您将容器放在Linux发行版(ubuntu,alpine)之一上,则可以安装该软件包。 或者,您可以将docker二进制文件从主机映射到容器-v /usr/bin/docker:/usr/bin/docker 。 请注意,如果从主机映射到二进制文件,请确保正确设置用户/组访问控制,因为容器中的用户/组与主机上的用户/组不同。

希望这个帮助