【发布时间】:2021-02-07 23:22:53
【问题描述】:
我正在尝试在 docker 中运行一个预测脑 CT 出血量的软件:https://github.com/msharrock/deepbleed
我在 Windows 上的 D:\ 驱动器中创建了一个“deepbleed”文件夹,并在我进入该目录后运行 docker pull msharrock/deepbleed 命令。拉取成功,我可以在我的 docker 桌面应用中看到容器。
然后我继续按照文档中的说明创建了一个indir 和outdir 文件夹;将我的 CT 文件放在indir 文件夹中进行预测。
自述文件告诉我接下来要运行此命令:
docker run -it msharrock/deepbleed bash -v /path/to/data:/data/
所以我已经运行了以下命令,但我得到的都是“没有这样的文件或目录”:
docker run --rm -it msharrock/deepbleed bash -v pwd/deepbleed/indir:outdir
docker run --rm -it msharrock/deepbleed bash -v ~/deepbleed/indir:/outdir/
docker run --rm -it msharrock/deepbleed bash -v /mnt/d/deepbleed/indir:/outdir/
docker run --rm -it msharrock/deepbleed bash -v /d/deepbleed/indir:/outdir
docker run --rm -it msharrock/deepbleed bash -v "$(& "D:\deepbleed\indir" "$(pwd)")":/outdir
docker run --rm -it msharrock/deepbleed bash -v /indir/:/outdir/
docker run --rm -it msharrock/deepbleed bash -v //d:/deepbleed/indir://d:/deepbleed/outdir/
docker run --rm -it msharrock/deepbleed bash -v //d/deepbleed/indir://d/deepbleed/outdir/
docker run --rm -it msharrock/deepbleed bash -v //d/deepbleed/indir:/outdir/
我的 docker 在 Windows 10 中基于 wsl2 的引擎上运行,磁盘和虚拟机的 hyper-v 文件夹位于我的 d: 驱动器上。
我需要做什么才能让它运行?
【问题讨论】:
-
如果将
-v hostpath:guestpath放在bash参数之前,它会起作用吗? -
另外,您是从 wsl2 提示符还是从 powershell 或 cmd 运行这些 docker 命令?
-
嘿!非常感谢你!我正在使用powershell,当我按照您所说的进行操作时,我猜它以某种方式运行了应用程序,但什么也没发生,现在看来我在docker容器中 root@0b3c1ba9b7f9:/build# (它从 PS C:\Users 更改\win10> 到现在)
-
如果你在powershell中,那么我认为你的
hostpath应该是一个像'd:/blah'这样的windows路径,你的guest路径将是容器中的一个linux路径,比如/outdir。你最终进入了容器,因为这就是命令所做的全部:运行bash,这样你就进入了容器。我猜他们希望你从那里手动运行脚本。
标签: docker windows-subsystem-for-linux