在Docker中将单个文件卷挂载为目录
Docker文档指出,可以将单个文件装载到Docker容器中:
-v标志还可用于从主机挂载单个文件-而不是目录。
$ docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash
这会将您放入新容器中的bash外壳中,您将从主机获得bash历史记录,退出容器时,主机将具有在容器中键入命令的历史记录。
但是,当我尝试将文件挂载为目录时:
tom@u ~/project $ docker run --rm -it -v file.json:/file.json testtotal 80K
drwxr-xr-x 9 root root 4.0K Dec 7 12:58 .
drwxr-xr-x 63 root root 4.0K Dec 7 12:58 ..
drwxr-xr-x 2 root root 4.0K Dec 4 16:10 file.json
我的Dockerfile看起来像这样:
FROM ubuntu:14.04MAINTAINER Tom
CMD ["ls", "-lah", "/test"]
Docker版本为1.9.1,内部版本为a34a1d5。
这是文档问题,还是我的误解,或者还有其他情况吗?
回答:
test
是您使用“ docker build -t test
”而非/test
文件夹构建的图像的名称。
尝试Dockerfile
使用:
CMD ["ls", "-lah", "/"]or
CMD ["cat", "/file.json"]
和:
docker run --rm -it -v $(pwd)/file.json:/file.json test
请注意使用$(pwd)
以便以其完整的绝对路径挂载文件(不支持相对路径)
以上是 在Docker中将单个文件卷挂载为目录 的全部内容, 来源链接: utcz.com/qa/433341.html