我想动态链接到由运行在docker容器中的Host上的udev创建的设备的符号链接
我能够将符号链接绑定到容器,但是如果移除设备(例如:usb已断开连接),则不会动态重新创建符号链接
Udev规则示例:
SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="140c", MODE="0666", SYMLINK+="my_dir/gsm-modem0"
docker run示例:
sudo docker run -v /dev/my_dir/gsm-modem0:/dev/my_dir/gsm-modem0 my_image my_script.sh
答案 0 :(得分:0)
答案:
Udev规则应符号链接到新目录:
SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="140c", MODE="0666", SYMLINK+="my_dir/gsm-modem0"
正在运行的docker必须包含--privileged:
sudo docker run --privileged -v /dev/my_dir:/dev/my_dir my_image my_script.sh
和my_script.sh首先应在创建的符号链接目录中创建一个新文件:
mkdir -p /dev/my_dir
touch /dev/my_dir/keep
说明:
由于某种原因,udev可能会删除链接目录(如果该目录为空),并且由于通常/dev
是tmpfs创作,因此新文件将无法在重启后继续运行。每次运行都触摸文件将使包含目录的链接保留在主机上,如果创建了新链接,它将出现在容器中