通过docker compose调用时如何使用valgrind检查docker的内存泄漏

通过docker compose调用时如何使用valgrind检查docker的内存泄漏,docker,memory,memory-leaks,docker-compose,valgrind,Docker,Memory,Memory Leaks,Docker Compose,Valgrind,我想检查通过docker compose和YAML文件运行的许多容器是否存在潜在内存泄漏 使用以下命令调用valgrind时: valgrind--log文件=/tmp/debug.log\ --跟踪子项=是\ --track origins=yes docker compose-f docker-compose.yml up--build-d 当docker compose完成容器设置时,valgrind停止跟踪;它不跟踪docker compose执行的docker调用 当通过docker

我想检查通过
docker compose
YAML
文件运行的许多容器是否存在潜在内存泄漏

使用以下命令调用
valgrind
时:

valgrind--log文件=/tmp/debug.log\
--跟踪子项=是\
--track origins=yes docker compose-f docker-compose.yml up--build-d
docker compose
完成容器设置时,
valgrind
停止跟踪;它不跟踪
docker compose
执行的
docker
调用

当通过
docker compose
调用
docker
时,是否有办法使
valgrind
继续检查
docker
的内存活动


谢谢

我认为这是不可能的,因为
docker
调用(比如
run
)实际上是通过套接字作为命令发送的(
/var/run/docker.sock
)。然后,这些命令实际上是由docker守护进程运行的,这是一个不同的进程,在运行
valgrind…
时已经启动


您可以做的是在容器内部安装
valgrind
,并确保它通过替换
CMD
命令启动主进程。

我认为这是不可能的,因为
docker
调用(如
run
)实际上是通过套接字作为命令发送的(
/var/run/docker.sock
). 然后,这些命令实际上是由docker守护进程运行的,这是一个不同的进程,在运行
valgrind…
时已经启动


您可以做的是在容器内部安装
valgrind
,并通过替换
CMD
命令确保它启动主进程。

谢谢。是否可以修改
docker.service
文件,使
valgrind
docker
守护进程本身开始?@imris我从未尝试过,但我不知道它如何帮助您监视守护进程及其所有内容starts@imriss您可以尝试在ContainerHanks内安装
valgrind
。是否可以修改
docker.service
文件,使
valgrind
docker
守护进程本身开始?@imris我从未尝试过,但我不知道它如何帮助您监视守护进程及其所有内容starts@imriss您可以尝试在容器内安装
valgrind