我想创建一个 docker 镜像,在其中将文件添加到 /dev
文件夹。我正在使用这个 Dockerfile
:
FROM ubuntu:bionic
COPY test.txt /dev/
使用以下方法构建后:
docker build -t test .
我得到一个 docker 图像,其中没有向
/dev
添加任何内容文件夹。 docker build
没有抛出错误.我觉得这很奇怪,因为复制到不同的文件夹工作正常。例如
COPY test.txt /
COPY test.txt /root/
COPY test.txt /home/
一切正常。
是否
/dev
文件夹有什么特殊权限?如何将文件复制到 /dev
文件夹?我正在使用 Docker Toolbox on windows .
最佳答案
/dev
是 linux 系统上的一个特殊文件夹,用于维护与设备相关的资源(文件系统、磁盘等)并安装在特殊文件系统上。在 docker 容器中,它将使用 tmpfs 专用文件系统重新安装,并且不在主容器文件系统 ( /
) 上。请参阅以下示例:
$ docker run -it --rm ubuntu:18.04
root@17b9ad96ccbc:/# df -h /dev/
Filesystem Size Used Avail Use% Mounted on
tmpfs 64M 0 64M 0% /dev
在您的情况下,您的文件实际上是在构建期间复制的,但是在构建完成后立即死亡的临时文件系统中。
结论:不要使用
/dev
作为目的地,选择其他文件夹。
关于docker - 为什么 docker 无法将 COPY 文件构建到/dev 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346114/