无法在docker中的docker中列出文件(dind)

时间:2018-09-21 01:51:02

标签: docker

我面对这个奇怪的问题,无法解释原因。

$ docker run -d --name dind --privileged --net=host -v `pwd`:/app -w /app docker:stable-dind
fe66d6e7e5effcf15e439a332a2368fddab810e9bc8ac3445392c8e56b0aa38a

$ docker exec dind ls
Dockerfile

$ docker exec dind docker run -v `pwd`:/app -w /app alpine ls 


$ docker exec dind docker build -t demo .
Sending build context to Docker daemon  521.7kB
Step 1/24 : FROM alpine

那为什么我看不到在docker容器中运行的docker容器中的文件?

为什么它可以使用命令Dockerfile读取文件docker build,但不能读取docker run

1 个答案:

答案 0 :(得分:1)

这是因为代码中的pwd将在主机而不是容器中进行解析,因此the container which in the container获取主机的当前目录而不是容器的当前目录,您可以通过更改以下命令来证明这一点:

$ docker exec dind docker run -v `pwd`:/app -w /app alpine ls 

$ docker exec dind docker run -v /app:/app -w /app alpine ls 

然后,您将看到Dockerfile输出。仅供参考。