如何在本地主机上获取docker主机URI

如何在本地主机上获取docker主机URI,docker,uri,docker-java,Docker,Uri,Docker Java,是否有可以计算的命令(eval$command)或可以检查的环境变量,以获取本地运行的docker主机的URI?我需要这是一个表达式,以便在运行时进行计算,因为我需要在脚本中使用它,以便在docker引擎可能未在标准端口上运行的主机上运行 谢谢。嘿,你可以在主机和grep docker上使用ps命令,如下所示 >ps aux | grep docker root 1729 0.0 0.3 2222936 56288 ? Ssl May08 8:05 /usr/bin

是否有可以计算的命令(
eval$command
)或可以检查的环境变量,以获取本地运行的docker主机的URI?我需要这是一个表达式,以便在运行时进行计算,因为我需要在脚本中使用它,以便在docker引擎可能未在标准端口上运行的主机上运行


谢谢。

嘿,你可以在主机和grep docker上使用ps命令,如下所示

>ps aux | grep docker
root      1729  0.0  0.3 2222936 56288 ?  Ssl  May08   8:05  /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


然后你就可以知道它与哪个端口或sock链接了,我不确定我是否完全理解了你的问题,但希望这能给你一些启示

docker命令只是一个REST客户端。默认情况下,客户端连接到unix套接字
/var/run/docker.sock
,向docker守护进程发送请求。 通过运行
curl
,您实际上可以实现同样的目标:

curl --unix-socket /var/run/docker.sock http:/localhost/version
现在,如果您的docker守护程序配置为远程访问,那么您可能在
docker.service
service文件中有URI信息。看到这个帖子了吗 .


希望这有助于运行docker daemon并配置为使用本地docker host的pc上的
本地docker host

命令。当从连接到本地主机的终端执行
docker ps
时,该命令将发送到某个docker引擎。我想解析响应该命令的守护进程的URI;但该变量似乎比docker state处理的用户偏好更大。我在这里运行docker命令,
echo${docker\u HOST}
返回空。在我的特殊情况下,它不是远程主机,而是本地主机。不知何故,当我发出
docker…
时,docker客户端知道如何到达docker引擎或尝试失败,我只需要一个可以计算到这样的URI的命令,甚至可能是某个docker实用程序?它既不能给我URI,也不能可靠地提供部分URI;而且,如果在
ps
匹配
docker
中有大量条目,则grep-thigh-path/usr/bin/dockerdIt不起作用。如果你不知道,没关系,不需要一直猜测或破解,直到找到可能粘在一起的东西。很好!这正是我想要的。我不太清楚客户端是如何处理守护进程的;但这完全清楚了我需要的方向,谢谢!我很高兴这有帮助