在RK平台开发中使用到docker,尝试在docker中映射宿主机的设备,并对设备进行控制。
docker run -t -d --name test001 --device=/dev/sda1 ubuntu:16.04
宿主机上插入U盘后,调用命令fdisk -l
可以查看到U盘设备/dev/sda1
,
那么在开启docker镜像时,加入参数添加设备--device=/dev/sda1
如果重启docker容器时,U盘被拔出,则会提示没有设备/dev/sda1
很高兴,这表明了通过--device
添加设备映射到docker容器是可以的。
插上U盘进入到docker容器里面,进行下一步测试:挂载U盘
docker exec -it test001 bash
进入到docker容器之后,通过mount
命令挂载U盘,发现出现下图提示:
后来发现这个是权限问题,虽然现在已经是root了,但只是拥有部分权限
获取真正的root权限,需要在开启docker容器时加入参数,控制开启root权限。
docker run -t -d --name ubuntu18.04 --device=/dev/sda1 --privileged ubuntu:18.04
docker exec -it ubuntu18.04 bash
mount /dev/sda1 /mnt
成功挂载,撒花~~
而起在加入--privileged
参数,获得root权限后,发现/dev目录下的变化:
加入参数–privileged前:
加入参数–privileged后: