在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 test

total 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.04

MAINTAINER 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

回到顶部