feat: 更新 remove_by_network 函数以删除所有状态的容器并等待网络清空

This commit is contained in:
kuaifan 2026-01-05 09:35:39 +00:00
parent 1aa9984535
commit 61d7970b6a

15
cmd
View File

@ -304,9 +304,22 @@ mysql_snapshot() {
remove_by_network() {
local app_id=$(env_get APP_ID)
local network_name="dootask-networks-${app_id}"
for container_id in $(docker ps -q --filter network="$network_name"); do
# 删除所有状态的容器(包括已停止的)
for container_id in $(docker ps -aq --filter network="$network_name"); do
docker rm -f "$container_id" 1>/dev/null
done
# 等待网络完全清空最多等待10秒
local retry=0
while [ $retry -lt 10 ]; do
local count=$(docker network inspect "$network_name" --format '{{len .Containers}}' 2>/dev/null | tr -d '[:space:]')
if [ -z "$count" ] || [ "$count" = "0" ]; then
break
fi
sleep 1
((retry++))
done
}
# 自动配置https