Docker运行rocker/tensorflow容器挂载本地卷报错求助
问题分析与解决
错误原因
你在docker run命令的-v(挂载卷)参数里格式写错了。Docker挂载本地目录到容器的正确格式是**本地路径:容器内路径**,而你写了三个部分:$(pwd):/home/au687614/Documents/LUCAS_ML:/home/rstudio/LOOKATMEEE,Docker会把最后一部分/home/rstudio/LOOKATMEEE误认为是挂载模式(比如ro只读模式),但这是一个路径,所以触发了invalid mode错误。
正确命令
根据你的需求,要把本地的/home/au687614/Documents/LUCAS_ML挂载到容器内的/home/rstudio/LOOKATMEEE,直接使用以下命令即可:
docker run -d -p 8787:8787 -v /home/au687614/Documents/LUCAS_ML:/home/rstudio/LOOKATMEEE -e ROOT=TRUE rocker/tensorflow
如果你的当前工作目录正好是/home/au687614/Documents/LUCAS_ML,也可以用$(pwd)代替绝对路径:
docker run -d -p 8787:8787 -v $(pwd):/home/rstudio/LOOKATMEEE -e ROOT=TRUE rocker/tensorflow
补充说明
-v参数的完整格式是[本地路径]:[容器内路径]:[模式],模式可选(比如ro表示只读),但如果不需要指定模式,只需要写前两部分即可。- 确保本地目录
/home/au687614/Documents/LUCAS_ML存在,否则Docker会自动创建一个目录(Linux系统下默认权限可能有问题,建议提前手动创建)。
内容的提问来源于stack exchange,提问作者Derek Corcoran
相关产品推荐
相关产品推荐

