dryrm 杀死所有容器的函数,并在运行容器前调用它
This commit is contained in:
parent
4fb2c194a3
commit
982c93dc12
@ -139,6 +139,30 @@ remove_existing_container() {
|
||||
fi
|
||||
}
|
||||
|
||||
# 6a. 杀死所有 freqtrade 相关容器
|
||||
kill_all_freqtrade_containers() {
|
||||
echo "正在查找并杀死所有 freqtrade 相关容器..." >&2
|
||||
|
||||
# 获取所有正在运行的容器
|
||||
local running_containers=$(docker ps -q --filter 'ancestor=freqtrade')
|
||||
|
||||
if [ -z "$running_containers" ]; then
|
||||
echo "⚠️ 没有找到运行中的 freqtrade 容器" >&2
|
||||
return
|
||||
fi
|
||||
|
||||
echo "找到 $(echo $running_containers | wc -w) 个运行的 freqtrade 容器,正在停止它们..." >&2
|
||||
|
||||
# 停止所有容器
|
||||
for container_id in $running_containers; do
|
||||
container_name=$(docker ps -a --filter "id=$container_id" --format '{{.Names}}')
|
||||
echo "正在停止容器: $container_name ($container_id)" >&2
|
||||
docker stop "$container_id" >&2 || echo "⚠️ 停止 $container_id 失败" >&2
|
||||
done
|
||||
|
||||
echo "✅ 所有 freqtrade 容器已停止" >&2
|
||||
}
|
||||
|
||||
### 主逻辑区 ###
|
||||
|
||||
# 检查 .env 文件
|
||||
@ -306,7 +330,10 @@ CONTAINER_NAME="freqtrade-dryrun-${GIT_COMMIT_SHORT}"
|
||||
|
||||
echo "准备启动容器: $CONTAINER_NAME" >&2
|
||||
|
||||
# 移除已存在的同名容器
|
||||
# 先杀死所有 freqtrade 容器
|
||||
kill_all_freqtrade_containers
|
||||
|
||||
# 再移除同名容器
|
||||
remove_existing_container "$CONTAINER_NAME"
|
||||
|
||||
# 启动新容器
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user