一、docker container实现
1、docker容器启动时挂载docker.sock
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock centos:7.6.1810
2、curl调用接口
curl -s --unix-socket /var/run/docker.sock http://localhost/containers/json
二、docker service实现
1、docker service启动时挂载
docker service create -p 8080 --name=tomcat --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock,readonly tomcat:8.5.41
2、进入对应容器curl调用接口
curl -s --unix-socket /var/run/docker.sock http://localhost/services
扩展:
在java程序中可以使用《java执行系统命令, 返回执行结果》一文中的工具类获取接口返回