将目录从 windows 机器安装到 Docker 上的 OracleVMBox for Tensor
Mounting directory from windows machine to OracleVMBox for Tensor on Docker
我在我的 Windows 机器和名为 "default" 的 Oracle VM Virtual box 之间设置了一个共享文件夹 "tensor"。 [我 运行 Windows 7,正在使用 Oracle VM Virtual Box Manager 和 Docker 工具箱。]
然后,我打开 Docker Toolbox Quickstart 终端,ssh 进入 "default" VM Box,然后可以成功地将张量文件夹挂载到它的目录中,如下所示:
我在本地计算机上创建了 "hello_world.txt" 并且文件显示在 VM 中。
我的问题是,当我 运行 默认框中容器中的 tensorflow 图像时,我似乎无法弄清楚如何使用这个目录(另外,我是新手,所以请如果我这里的术语有误,请纠正我)。
我退出 "default" 框,然后返回我的 Docker 客户端。我尝试了 运行 以下命令变体(来自多个网站):
docker run -it -p 8888:8888 -p 6006:6006 -v /mnt/tensor:/tensor --name tf gcr.io/tensorflow/tensorflow
这让我可以在到达 http://DEFAULT_IP:8888 时访问 Jupyter notebook,但我没有看到我希望看到的 "tensor" 文件夹。相反,该目录只是空的。
但是,我在上面的命令中假设 -v DIRECTORY_VM:DIRECTORY_CONTAINER,所以我给它的第一个地址是我默认 VM 中的目录,即映射到容器中的目录 运行张量图像。
二审是我试过这个:
docker run -it -p 8888:8888 -p 6006:6006 -v //c/Users/rebeccak.REBECCAPC/tensor:/tensor --name tf gcr.io/tensorflow/tensorflow
在这种情况下,我提供了本地计算机上 "tensor" 文件夹的路径,而不是 VM Box。
仍然没有成功。有人能告诉我如何正确地做到这一点吗?谢谢。
此外,当我 运行 "docker inspect CONTAINER_NAME" 我的一次尝试时,我得到了这个坐骑:
所以"source"文件夹看起来不像我指定的路径。这个地址在哪里?它是在我的 "default" 虚拟机上还是在我的守护进程 client/linux 机器上?
您确实在 VirtualBox 上声明了一个共享文件夹,但您仍然需要将其正确挂载到您的 VM 中。
在您的 ssh 会话中:
sudo touch /mnt/sda1/var/lib/boot2docker/bootlocal.sh
Add to that file:
mkdir -p /mnt/tensorflow
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` tensorflow /mnt/tensorflow
然后重启你的docker机器(停止,启动)
A -v /mnt/tensor:/tensor
现在应该可以工作了。
当然要检查您的源文件夹是否存在:那是 OP RebeccaK375's :
My issue was actually that there was not a "tensor
" folder to mount,
我在我的 Windows 机器和名为 "default" 的 Oracle VM Virtual box 之间设置了一个共享文件夹 "tensor"。 [我 运行 Windows 7,正在使用 Oracle VM Virtual Box Manager 和 Docker 工具箱。]
然后,我打开 Docker Toolbox Quickstart 终端,ssh 进入 "default" VM Box,然后可以成功地将张量文件夹挂载到它的目录中,如下所示:
我在本地计算机上创建了 "hello_world.txt" 并且文件显示在 VM 中。
我的问题是,当我 运行 默认框中容器中的 tensorflow 图像时,我似乎无法弄清楚如何使用这个目录(另外,我是新手,所以请如果我这里的术语有误,请纠正我)。
我退出 "default" 框,然后返回我的 Docker 客户端。我尝试了 运行 以下命令变体(来自多个网站):
docker run -it -p 8888:8888 -p 6006:6006 -v /mnt/tensor:/tensor --name tf gcr.io/tensorflow/tensorflow
这让我可以在到达 http://DEFAULT_IP:8888 时访问 Jupyter notebook,但我没有看到我希望看到的 "tensor" 文件夹。相反,该目录只是空的。
但是,我在上面的命令中假设 -v DIRECTORY_VM:DIRECTORY_CONTAINER,所以我给它的第一个地址是我默认 VM 中的目录,即映射到容器中的目录 运行张量图像。
二审是我试过这个:
docker run -it -p 8888:8888 -p 6006:6006 -v //c/Users/rebeccak.REBECCAPC/tensor:/tensor --name tf gcr.io/tensorflow/tensorflow
在这种情况下,我提供了本地计算机上 "tensor" 文件夹的路径,而不是 VM Box。
仍然没有成功。有人能告诉我如何正确地做到这一点吗?谢谢。
此外,当我 运行 "docker inspect CONTAINER_NAME" 我的一次尝试时,我得到了这个坐骑:
所以"source"文件夹看起来不像我指定的路径。这个地址在哪里?它是在我的 "default" 虚拟机上还是在我的守护进程 client/linux 机器上?
您确实在 VirtualBox 上声明了一个共享文件夹,但您仍然需要将其正确挂载到您的 VM 中。
在您的 ssh 会话中:
sudo touch /mnt/sda1/var/lib/boot2docker/bootlocal.sh
Add to that file:
mkdir -p /mnt/tensorflow
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` tensorflow /mnt/tensorflow
然后重启你的docker机器(停止,启动)
A -v /mnt/tensor:/tensor
现在应该可以工作了。
当然要检查您的源文件夹是否存在:那是 OP RebeccaK375's
My issue was actually that there was not a "
tensor
" folder to mount,