在Docker容器中执行的Java应用程序中运行docker命令

时间:2018-11-14 23:43:35

标签: docker docker-compose dockerfile

我正在创建一个收集docker指标的Spring Boot监视代理。该代理可以通过POM依赖关系附加到在Docker容器中运行的任何客户端Spring Boot应用程序。

在代理中,我试图以编程方式运行docker stats

但是,它无法执行,因为docker容器中未安装docker client。

那么我如何在Docker容器中运行Docker命令?请注意,我无法更改客户端的Dockerfile

1 个答案:

答案 0 :(得分:0)

您可以通过在容器中定义docker套接字来在容器中执行docker命令。

以以下方式运行容器并挂载“ docker.sock”:

docker run -v /var/run/docker.sock:/var/run/docker.sock ...

所以主要是您必须挂载docker.sock才能在容器中运行docker命令。