I have Docker installed on my Mac OS Catalina and recently found very big file Docker.raw. It is 64 Gb.
I don’t understand why is it so big.
Is it really needed?
Docker for Mac stores Linux containers and images in a single, large file named Docker.raw. To reduce its size, after having pruned the unused docker objects ( https://docs.docker.com/config/pruning/ ), open the Docker Desktop preferences, and then under 'Resources' -> 'Advanced' -> 'Disk image size':
You can reduced file to less than 64GB. it's telling you how much is currently used by the current data. Also Resizing to a smaller size will delete the disk image; all Docker images / containers will be lost. Other settings will be preserved.
If you want to preserve the image, you can use this script : clean-docker-for-mac.sh
The script do this :
The answer to your question is in the Docker documentation:
Disk utilization in Docker for Mac
Docker Desktop stores Linux containers and images in a single, large “disk image” file in the Mac filesystem. This is different from Docker on Linux, which usually stores containers and images in the /var/lib/docker directory.
The size of this file is big in your system because you have a lot of images and containers. You can reduce its site by pruning unused objects.
The easiest way to reduce Docker.raw file size is by setting the preferences, as Docker official page states:
Select the Docker icon and then select Preferences > Resources > Advanced.
If you've tried pruning everything but still cannot get your disk usage back to normal, there is a utility in docker desktop in the Troubleshoot
menu, which you can get to by clicking the little bug icon in the menu bar. Running the Clean / Purge data
utility fixed this for me.
It is very important to note that the "size of the file" and "how much space it occupies on your disk" are not the same thing, because files may be "sparse", and Docker.raw
is indeed an example of a sparse file.
For example, on my disk it looks like I have a 60G Docker.raw
file. However, it only actually takes up 9.9G on disk:
% cd ~/Library/Containers/com.docker.docker/Data/vms/0/data
% ls -lh Docker.raw
-rw-r--r--@ 1 ken staff 60G Jan 15 15:19 Docker.raw
% du -sh Docker.raw
9.9G Docker.raw
9.9G is still kinda big, but it makes sense given my usage.
So before tearing your hair out or taking drastic measures that might break something, make sure you actually have a problem worth solving.