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

相關文章
相關標籤/搜索