docker容器挂载docker.sock,在容器内部直接与docker守护进程通讯进行接口调用

1、docker container实现

一、docker容器启动时挂载docker.sock

docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock centos:7.6.1810

二、curl调用接口

curl -s --unix-socket /var/run/docker.sock http://localhost/containers/json

2、docker service实现

一、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

二、进入对应容器curl调用接口

curl -s --unix-socket /var/run/docker.sock http://localhost/services

扩展:

在java程序中可使用《java执行系统命令, 返回执行结果》一文中的工具类获取接口返回html

参考链接:

https://portainer.readthedocs.io/en/latest/deployment.htmljava

http://www.javashuo.com/article/p-nfgvtilf-ge.htmldocker

相关文章
相关标签/搜索