mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-21 23:46:50 +00:00
fix: use safe docker bind mount syntax for sandbox mounts (#1655)
Docker's -v host:container syntax is ambiguous for Windows drive-letter paths (e.g. D:/...) because ':' is both the drive separator and the volume separator, causing mount failures on Windows hosts. Introduce _format_container_mount() which uses '--mount type=bind,...' for Docker (unambiguous on all platforms) and keeps '-v' for Apple Container runtime which does not support the --mount flag yet. Adds unit tests covering Windows paths, read-only mounts, and Apple Container pass-through. Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
from deerflow.community.aio_sandbox.local_backend import _format_container_mount
|
||||
|
||||
|
||||
def test_format_container_mount_uses_mount_syntax_for_docker_windows_paths():
|
||||
args = _format_container_mount("docker", "D:/deer-flow/backend/.deer-flow/threads", "/mnt/threads", False)
|
||||
|
||||
assert args == [
|
||||
"--mount",
|
||||
"type=bind,src=D:/deer-flow/backend/.deer-flow/threads,dst=/mnt/threads",
|
||||
]
|
||||
|
||||
|
||||
def test_format_container_mount_marks_docker_readonly_mounts():
|
||||
args = _format_container_mount("docker", "/host/path", "/mnt/path", True)
|
||||
|
||||
assert args == [
|
||||
"--mount",
|
||||
"type=bind,src=/host/path,dst=/mnt/path,readonly",
|
||||
]
|
||||
|
||||
|
||||
def test_format_container_mount_keeps_volume_syntax_for_apple_container():
|
||||
args = _format_container_mount("container", "/host/path", "/mnt/path", True)
|
||||
|
||||
assert args == [
|
||||
"-v",
|
||||
"/host/path:/mnt/path:ro",
|
||||
]
|
||||
Reference in New Issue
Block a user