diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index f7940433..7eca7a2d 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -208,5 +208,6 @@ def restart_system(_: schemas.TokenPayload = Depends(verify_token)): """ if not SystemUtils.can_restart(): return schemas.Response(success=False, message="当前运行环境不支持重启操作!") - SystemUtils.restart_docker() + # 执行重启 + SystemUtils.restart() return schemas.Response(success=True) diff --git a/app/utils/system.py b/app/utils/system.py index f1a28122..a83d37af 100644 --- a/app/utils/system.py +++ b/app/utils/system.py @@ -300,20 +300,21 @@ class SystemUtils: """ 判断是否可以内部重启 """ - if not SystemUtils.is_docker(): - return False return Path("/var/run/docker.sock").exists() @staticmethod - def restart_docker(): + def restart(): """ 执行Docker重启操作 """ - # 创建 Docker 客户端 - client = docker.from_env() - # 获取当前容器的 ID - container_id = open("/proc/self/cgroup", "r").read().split("/")[-1] - if not container_id: - return - # 重启当前容器 - client.containers.get(container_id.strip()).restart() + try: + # 创建 Docker 客户端 + client = docker.from_env() + # 获取当前容器的 ID + container_id = open("/proc/self/cgroup", "r").read().split("/")[-1] + if not container_id: + return + # 重启当前容器 + client.containers.get(container_id.strip()).restart() + except Exception as err: + print(str(err))