是否有可能在同一网络内的其他docker容器退出后停止docker容器?



我有三个docker容器。第一个容器是启动Wordpress实例的Wordpress容器。第二个容器是从selenium/standalone-chromeimage创建的selenium服务器容器,它应该通过UI交互来做一些wordpress的初始设置。我有一个python脚本,其中包含要发送到selenium服务器的所有命令。我在python容器中运行这个脚本作为第三个容器。所有的容器都是使用docker-compose生成的,并且都在同一个网络中,因此可以进行通信。

一旦python容器运行完脚本,它退出,但是selenium服务器和wordpress容器继续运行。一旦我完成了脚本,我想停止硒服务器容器,但保持wordpress容器运行。

我有一个想法,在python容器内运行一个脚本作为入口点,首先执行脚本,然后发出命令来停止其他容器,但为此,我想python容器也应该有docker可用。所以,我认为这行不通。有没有简单的方法可以做到这一点?

docker ps --filter=name='my-container'

将显示感兴趣的容器是否还在

例子docker ps

显示多个容器

但是你可以过滤

docker ps --filter=name='cadvisor' CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 984f35929991 google/cadvisor "/usr/bin/cadvisor -…" 3 years ago Up 2 hours 0.0.0.0:1234->8080/tcp cadvisor'

,因此脚本可以测试两个容器的存在,只有一个,并执行

docker stop xxx

在需要的时候

最新更新