mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
fix(docker): repair restart judgment
当 DOCKER_CLIENT_API 不等于默认值时代表外部调用重启,无需再映射 `/var/run/docker.sock`
This commit is contained in:
@@ -8,13 +8,15 @@ from app.utils.system import SystemUtils
|
|||||||
|
|
||||||
|
|
||||||
class SystemHelper:
|
class SystemHelper:
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def can_restart() -> bool:
|
def can_restart() -> bool:
|
||||||
"""
|
"""
|
||||||
判断是否可以内部重启
|
判断是否可以内部重启
|
||||||
"""
|
"""
|
||||||
return Path("/var/run/docker.sock").exists()
|
return (
|
||||||
|
Path("/var/run/docker.sock").exists()
|
||||||
|
or settings.DOCKER_CLIENT_API != "tcp://127.0.0.1:38379"
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def restart() -> Tuple[bool, str]:
|
def restart() -> Tuple[bool, str]:
|
||||||
@@ -28,7 +30,7 @@ class SystemHelper:
|
|||||||
client = docker.DockerClient(base_url=settings.DOCKER_CLIENT_API)
|
client = docker.DockerClient(base_url=settings.DOCKER_CLIENT_API)
|
||||||
# 获取当前容器的 ID
|
# 获取当前容器的 ID
|
||||||
container_id = None
|
container_id = None
|
||||||
with open('/proc/self/mountinfo', 'r') as f:
|
with open("/proc/self/mountinfo", "r") as f:
|
||||||
data = f.read()
|
data = f.read()
|
||||||
index_resolv_conf = data.find("resolv.conf")
|
index_resolv_conf = data.find("resolv.conf")
|
||||||
if index_resolv_conf != -1:
|
if index_resolv_conf != -1:
|
||||||
@@ -39,7 +41,9 @@ class SystemHelper:
|
|||||||
index_resolv_conf = data.find("/sys/fs/cgroup/devices")
|
index_resolv_conf = data.find("/sys/fs/cgroup/devices")
|
||||||
if index_resolv_conf != -1:
|
if index_resolv_conf != -1:
|
||||||
index_second_slash = data.rfind(" ", 0, index_resolv_conf)
|
index_second_slash = data.rfind(" ", 0, index_resolv_conf)
|
||||||
index_first_slash = data.rfind("/", 0, index_second_slash) + 1
|
index_first_slash = (
|
||||||
|
data.rfind("/", 0, index_second_slash) + 1
|
||||||
|
)
|
||||||
container_id = data[index_first_slash:index_second_slash]
|
container_id = data[index_first_slash:index_second_slash]
|
||||||
if not container_id:
|
if not container_id:
|
||||||
return False, "获取容器ID失败!"
|
return False, "获取容器ID失败!"
|
||||||
|
|||||||
Reference in New Issue
Block a user