使用有问题-v "%desktopPath%\%folderName%":/dobot/userdata/project:rw
,会报文件/dobot/userdata/project/properties/controlCabType.json
不存在,使用没有问题-v "%desktopPath%\%folderName%":/dobot/userdata/project/project:rw
。该文件/dobot/userdata/project/properties/controlCabType.json
是在创建容器映像期间生成的dobotv4vc:v4510b2
。执行时docker run
,使用相同的容器镜像,只是-v
选项后面有区别。我已经给共享目录添加了rw
权限,但是还是有问题。问题是什么?
我的容器镜像基于 Debian:bookworm,我的托管系统是 Windows 10。
Docker运行完整指令:
docker run --dns=8.8.8.8 -d --name=crv4 --network bridge ^
-p 2022:22 -p 2502:502 -p 2503:503 -p 1502:1502 -p 1503:1503 -p 18083:8083 -p 18883:1883 ^
-p 22000:22000 -p 22001:22001 -p 29999:29999 -p 30004:30004 -p 30005:30005 -p 30006:30006 ^
-p 40001:40001 -p 40002:40002 -p 40003:40003 -p 40004:40004 -p 40005:40005 -p 40006:40006 ^
-p 65501:65501 -p 65502:65502 -p 65503:65503 -p 65504:65504 -p 65505:65505 -p 65506:65506 ^
-p 65511:65511 -p 65512:65512 -p 65513:65513 -p 65514:65514 -p 65515:65515 -p 65516:65516 ^
-p 65521:65521 -p 65522:65522 -p 65523:65523 -p 65524:65524 -p 65525:65525 -p 65526:65526 ^
-p 65527:65527 -v "%desktopPath%\%folderName%":/dobot/userdata/project:rw dobotv4vc:v4510b2
答案1
当你使用
-v "%desktopPath%\%folderName%":/dobot/userdata/project:rw
/dobot/userdata/project
正在运行的容器内的目录提供对主机%desktopPath%\%folderName%
上的访问。如果容器内运行的程序希望找到/dobot/userdata/project/properties/controlCabType.json
,则该文件需要存在于%desktopPath%\%folderName%\properties
主机上。您提到该文件是在创建容器映像期间生成的;通过在 上安装卷/dobot/userdata/project
,您可以在映像中屏蔽该文件。
和
-v "%desktopPath%\%folderName%":/dobot/userdata/project/project:rw
该卷安装在 上/dobot/userdata/project/project
,并且/dobot/userdata/project
本身仍然提供对容器映像中文件的访问(除了目录下的任何内容project
)。