I want to create a docker image where I add a file to the /dev
folder. I'm using this Dockerfile
:
FROM ubuntu:bionic
COPY test.txt /dev/
After building this with:
docker build -t test .
I get a docker image where nothing has been added to the /dev
folder. No error has been thrown by docker build
.
I find this very strange because copying to different folders works fine. For example
COPY test.txt /
COPY test.txt /root/
COPY test.txt /home/
all work fine.
Does the /dev
folder have some special permissions? How do I copy a file to the /dev
folder?
I'm using Docker Toolbox on windows.
/dev
is a special folder on linux systems reserved to maintain the devices related ressources (filesystem, disks, etc...) and mounted on a special filesystem. In a docker container, it will be remounted with a tmpfs dedicated filesystem and is not on the main container filesystem (/
). See the following example:
$ 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
In your case, your file was actually copied during the build but in a temporary filesystem that died as soon as the build was finished.
Conclusion: don't use /dev
as a destination, choose an other folder.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With