Docker:如何从一个正在运行的容器向另一个容器发送信号?

我正在使用docker,我想知道:是否可以发送一个信号,从一个正在运行的容器到另一个正在运行的容器?

更确切地说,我想把SIGUSR1发送给python程序。

我已经做了一个bash脚本来获得我的python进程的PID并发送信号:

send_signal.sh

#!/bin/bash py_pid=$(pidof -s python my_programme.py kill -SIGUSR1 $py_pid

之前,我从Docker主机执行send_signal.sh,如下所示:

docker exec docker_with_python bash send_signal.sh

或者就这样:

docker kill --signal="SIGUSR1 docker_with_python

但现在,我想发送信号到运行的容器到另一个。 那么,我怎么能从另一个正在运行的容器中执行这个命令。 还是有另一种发送信号的方式?

提前致谢

这是我使用的代码。 它可以帮助别人:

echo -e "POST /containers/<docker_id>/kill?signal=SIGUSR1 HTTP/1.0\r\n" |nc -U /tmp/docker.sock

以前,在我的docker-compose.yml中 ,我共享了卷:

exemple1 hostname: exemple_1 volumes: - /var/run/docker.sock:/tmp/docker.sock

为了达到这个目的,你需要将Docker套接字从主机安装到你想要发送信号的容器中。 例如,看这个post的解释和细节。