Resize docker disk size (MacOS only)¶
Due to the base installation size, you will need a larger disk file for your docker runtime. Typically docker creates a disk file of 50GB which is insufficient for our purpose
Warning: This will destroy the docker local image cache as well as any pending changes inside any running or stopped containers. Save your work in any running or stopped containers to a persistent volume before continuing. If you have just installed docker than this does not apply to you.
$ cd ~/Library/Containers/com.docker.docker/Data/database/
$ git reset --hard
HEAD is now at c435935 Settings Changed 09 Jan 17 20:28 +0000
$ cat com.docker.driver.amd64-linux/disk/size
65536
# number is in MiB so 150G should be 153600:
$ echo 153600 > com.docker.driver.amd64-linux/disk/size
$ git add com.docker.driver.amd64-linux/disk/size
$ git commit -s -m 'New target disk size'
$ rm ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Docker ships with a qemu-img utility. We will use it to resize the image. If you have already used docker pull
or docker run
, be warned that we will have to recreate the disk which will destroy all images and containers.
- Run
rm ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
(alternatively use mv
to move the file elsewhere if you intend to restore it later)
2. Restart docker
3. Run
/Applications/Docker.app/Contents/MacOS/qemu-img resize ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 100G
- Restart docker again.
- Once docker is running, run
docker run alpine df -h
. Verify that theoverlay
row has 99G or higher for size column. - Optionally, increase the RAM used by docker to 8GB or more. This will ensure a smoother experience.