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


一、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执行系统命令, 返回执行结果》一文中的工具类获取接口返回

参考连接:

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

https://www.cnblogs.com/fundebug/p/6723464.html

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM