流浪者,Docker供应商和权限

时间:2019-12-27 00:05:20

标签: docker vagrant jupyter vagrant-provision

我对Vagrant,其Docker配置程序和Docker的交互方式有一个奇怪的问题,我不确定如何进行。 (与Vagrant相比,我比Docker更好,但据我所知这不是Docker问题。)

我正在使用Vagrant代码在Vagrant(libvirt)VM上运行正式的Tensorflow Docker映像:

authToken = SecureRandom.hex

host.vm.provision :docker do |docker|
  docker.run "tensorflow/tensorflow",
    image: "tensorflow/tensorflow:latest-gpu-py3-jupyter",
    args: "-it -u 1000:1000 -p 8080:8888 -v /tf:/tf",
    cmd: "/bin/bash -c \"source /etc/bash.bashrc && jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token='#{authToken}'\""
end

到目前为止,一切都很好。我可以使用Jupyter服务器进行身份验证。但是它看不到我的/tf目录中的文件。特别是,尝试浏览/tf文件夹以打开我知道在其中的文件是行不通的。此外,运行docker exec之类的ls /tf命令表明该目录在容器中为空。

另一方面,如果我SSH到虚拟机中并以无业游民的身份运行(“相同”命令):

docker run -it  -u 1000:1000 -p 8080:8888 -v /tf:/tf tensorflow/tensorflow:latest-gpu-py3-jupyter  "/bin/bash" "-c"  "source /etc/bash.bashrc && jupyter notebook --no-browser --ip=0.0.0.0 --allow-root"

(以vagrantroot的形式出现)Jupyter在我的/tf目录中找到了文件。

这告诉我,Vagrant如何运行Docker与我如何运行Docker之间存在一些不同。但是我不知道该怎么去解决它!

没有什么帮助?

0 个答案:

没有答案