我正在使用Mac版2.1.0.4的Docker桌面。我有一个Docker容器,它是一个Ubuntu 18.04 Linux VM,其中包含Yocto Build系统。我用它为我的NVIDIA Jetson Nano生成SD卡。在构建过程结束时,我具有* .img文件,可以将其直接“ dd”存储到SD卡中并用于引导我的Jetson Nano。我希望Docker容器从MacBook挂载SD卡卷,以便它可以从容器内部直接dd到SD卡,而不是从Mac终端手动复制并运行“ dd”。我通常通过在Linux中将(未安装的)/ dev / sdX设备挂载为具有Lostup的循环设备来执行此操作,然后运行“ dd”。
通过使用以下命令启动容器,我可以成功安装SD卡并查看其内容。
MacBook-Pro:~ me$ docker run -it -v /Volumes/pkop:/opt/myvolume jetson-nano bash To run a command as administrator (user "root"), use "sudo". See "man sudo_root" for details. root@c4102f7124d4:~/Desktop/jetson-yocto$ ls /opt/myvolume/ a.txt b.xt lost+found
我可以将文件从Mac或Container写入此共享卷,并从两个角度查看更改。
但是,我无法弄清楚(或在Google上找到)如何卸载共享卷(因此容器中未使用该共享卷)并能够直接对其进行“ dd”操作。
我怎样才能做到这一点?谢谢。
注意:我尝试了以下操作,很遗憾,它仍然无法正常工作:
MacBook-Pro:~ me$ mount ... /dev/disk2s2 on /Volumes/BOOT (msdos, local, nodev, nosuid, noowners) MacBook-Pro:~ me$ sudo diskutil unmount /dev/disk2s2 Password: Volume BOOT on disk2s2 unmounted MacBook-Pro:~ me$ sudo mkdir -p /tmp/sd MacBook-Pro:~ me$ sudo diskutil mount -mountPoint /tmp/sd /dev/disk2s2 Volume BOOT on /dev/disk2s2 mounted MacBook-Pro:~ me$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE vsc-jetsonnanobuildsystem-7dbcb92dddcd1879ee470cf5cbe42494 latest 661fca4aff22 10 hours ago 270GB MacBook-Pro:~ me$ MacBook-Pro:~ me$ docker run -i -t -v /tmp/sd:/opt/usb vsc-jetsonnanobuildsystem-7dbcb92dddcd1879ee470cf5cbe42494 bash To run a command as administrator (user "root"), use "sudo". See "man sudo_root" for details. user@9bcdaf6469be:~/Desktop/jetson-yocto$ ls /opt/usb/ a user@9bcdaf6469be:~/Desktop/jetson-yocto$ dd if=/dev/random of=/opt/usb dd: failed to open '/opt/usb': Is a directory
此外,似乎我无法共享/ dev目录: