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