From bb41fdbecec2da1142bc73008634fb1e7461e3ef Mon Sep 17 00:00:00 2001 From: David Scott Date: Tue, 26 Jun 2018 15:42:05 +0100 Subject: [PATCH 1/3] Docker for Mac: add page on disk space The disk space usage of Docker on Mac has been difficult to manage and has confused lots of people, see https://github.com/docker/for-mac/issues/371 This patch adds a top-level section to the Docker for Mac docs alongside networking which explains - where the space has gone - how to reclaim some of it In future I'd like to add more about why some systems use `Docker.raw` and some `Docker.qcow2` but we're in a transitional state at the moment. It'll be simpler to explain after the next stable version has been released. Signed-off-by: David Scott --- docker-for-mac/images/settings-disk.png | Bin 0 -> 49336 bytes docker-for-mac/space.md | 88 ++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 docker-for-mac/images/settings-disk.png create mode 100644 docker-for-mac/space.md diff --git a/docker-for-mac/images/settings-disk.png b/docker-for-mac/images/settings-disk.png new file mode 100644 index 0000000000000000000000000000000000000000..e025b16e15e38961c422dfe062b9d55079712b50 GIT binary patch literal 49336 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

H^Hd5o+Q*1Li#5#$G#HT<`4iY7{#O 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 b-+h3xNfbAIodg910{kRIWQ8lf>G=I0w*s%x literal 0 HcmV?d00001 diff --git a/docker-for-mac/space.md b/docker-for-mac/space.md new file mode 100644 index 0000000000..972a4ff270 --- /dev/null +++ b/docker-for-mac/space.md @@ -0,0 +1,88 @@ +--- +description: Disk space +keywords: mac, disk +title: Disk space in Docker for Mac +--- + +Docker for Mac stores Linux containers and images in a single large "disk image" file +in the Mac filesystem. This is different to Docker on Linux which usually stores containers +and images in the `/var/lib/docker` directory. + +## Where is the "disk image" file? + +To locate the "disk image" file, first click on the whale menu and then click on +"Preferences...". When the preferences window appears, click on the "Disk" icon +and then "Reveal in Finder": + +![Disk preferences](images/settings-disk.png) + +The preferences window also shows how much disk space the file is currently consuming. +In this example it is consuming only 2.4 GB out of a maximum of 64 GB. + +Note that other tools may display the space usage of the file incorrectly. + +## If the file is too big + +If the file is too big, you can +- move it to a bigger drive; +- delete unnecessary containers and images; or +- reduce the maximum size of the file. + +### To move the file to a bigger drive + +To move the file, open the "Preferences..." menu, click on the "Disk" icon and then click +on "Move disk image". Do not move the file directly in the finder or Docker for Mac will +lose track of it. + +### To delete unnecessary containers and images + +To check whether you have too many unnecessary containers and images, first list images +with: +```bash +$ docker image ls +``` +then list containers with: +```bash +$ docker container ls -a +``` + +If there are lots of unneeded objects, try the command +```bash +$ docker system prune +``` +This will remove all stopped containers, unused networks, dangling images and build cache. + +Note that it may take a few minutes before space becomes free on the host depending +on what format the "disk image" file is in: +- If the file is named `Docker.raw`: space on the host should be reclaimed within a few + seconds. +- If the file is named `Docker.qcow2`: space will be freed by a background process after + a few minutes. + +Note that space is only freed when images are deleted. Space is not freed automatically +when files are deleted inside running containers. To trigger a space reclamation at any +point, use the command: + +``` +$ docker run --privileged --pid=host justincormack/nsenter1 /sbin/fstrim /var/lib/docker +``` + +Note that many tools will report the maximum file size, not the actual file size. +To query the actual size of the file on the host from a terminal, use: +```bash +$ cd ~/Library/Containers/com.docker.docker/Data +$ cd vms/0 # or com.docker.driver.amd64-linux +$ ls -klsh Docker.raw +2333548 -rw-r--r--@ 1 akim staff 64G Dec 13 17:42 Docker.raw +``` +In this example the actual size of the disk is `2333548` KB, whereas the maximum size +of the disk is `64` GB. + +### To reduce the maximum size of the file + +To reduce the maximum size of the file, first click on the whale menu and then click on +"Preferences...". When the preferences window appears, click on the "Disk" icon. +The preferences window contains a slider which allows the maximum disk size to be set. +If the maximum size is reduced, the current file will be deleted and therefore all +containers and images will be lost. + From 5e715eabea441c9b8cf8a9e2f69dbf8fbd0752fc Mon Sep 17 00:00:00 2001 From: paigehargrave Date: Sun, 20 Jan 2019 13:50:31 -0500 Subject: [PATCH 2/3] Update space.md --- docker-for-mac/space.md | 50 +++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/docker-for-mac/space.md b/docker-for-mac/space.md index 972a4ff270..4a32a5f066 100644 --- a/docker-for-mac/space.md +++ b/docker-for-mac/space.md @@ -1,47 +1,53 @@ --- -description: Disk space +description: Disk utilization keywords: mac, disk -title: Disk space in Docker for Mac +title: Disk utilization in Docker for Mac --- -Docker for Mac stores Linux containers and images in a single large "disk image" file -in the Mac filesystem. This is different to Docker on Linux which usually stores containers +Docker for Mac 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. ## Where is the "disk image" file? -To locate the "disk image" file, first click on the whale menu and then click on -"Preferences...". When the preferences window appears, click on the "Disk" icon -and then "Reveal in Finder": +To locate the "disk image" file, first select the whale menu icon and then select +**Preferences...**. When the **Preferences...** window is displayed, select **Disk** and then **Reveal in Finder**: ![Disk preferences](images/settings-disk.png) -The preferences window also shows how much disk space the file is currently consuming. -In this example it is consuming only 2.4 GB out of a maximum of 64 GB. +The **Preferences...** window shows how much actual disk space the "disk image" file is consuming. +In this example, the "disk image" file is consuming 2.4 GB out of a maximum of 64 GB. -Note that other tools may display the space usage of the file incorrectly. +Note that other tools might display space usage of the file in terms of the maximum file size, not the actual file size. ## If the file is too big If the file is too big, you can -- move it to a bigger drive; -- delete unnecessary containers and images; or -- reduce the maximum size of the file. +- move it to a bigger drive, +- delete unnecessary containers and images, or +- reduce the maximum allowable size of the file. ### To move the file to a bigger drive -To move the file, open the "Preferences..." menu, click on the "Disk" icon and then click -on "Move disk image". Do not move the file directly in the finder or Docker for Mac will +To move the file, open the **Preferences...** menu, select **Disk** and then select +on **Move disk image**. Do not move the file directly in the finder or Docker for Mac will lose track of it. ### To delete unnecessary containers and images -To check whether you have too many unnecessary containers and images, first list images -with: +To check whether you have too many unnecessary containers and images: + +If your client and daemon API are version 1.25 or later (use the docker version command on the client to check your client and daemon API versions.), you can display detailed space usage information with: + +``` +docker system df -v +``` + +Alternatively, you can list images with: ```bash $ docker image ls ``` -then list containers with: +and then list containers with: ```bash $ docker container ls -a ``` @@ -50,9 +56,9 @@ If there are lots of unneeded objects, try the command ```bash $ docker system prune ``` -This will remove all stopped containers, unused networks, dangling images and build cache. +This removes all stopped containers, unused networks, dangling images, and build cache. -Note that it may take a few minutes before space becomes free on the host depending +Note that it might take a few minutes before space becomes free on the host, depending on what format the "disk image" file is in: - If the file is named `Docker.raw`: space on the host should be reclaimed within a few seconds. @@ -75,7 +81,7 @@ $ cd vms/0 # or com.docker.driver.amd64-linux $ ls -klsh Docker.raw 2333548 -rw-r--r--@ 1 akim staff 64G Dec 13 17:42 Docker.raw ``` -In this example the actual size of the disk is `2333548` KB, whereas the maximum size +In this example, the actual size of the disk is `2333548` KB, whereas the maximum size of the disk is `64` GB. ### To reduce the maximum size of the file @@ -83,6 +89,6 @@ of the disk is `64` GB. To reduce the maximum size of the file, first click on the whale menu and then click on "Preferences...". When the preferences window appears, click on the "Disk" icon. The preferences window contains a slider which allows the maximum disk size to be set. -If the maximum size is reduced, the current file will be deleted and therefore all +**Warning**: If the maximum size is reduced, the current file will be deleted and, therefore, all containers and images will be lost. From 9aa8abef04239260a40e7cb00875460965a67e8f Mon Sep 17 00:00:00 2001 From: paigehargrave Date: Wed, 6 Feb 2019 08:05:31 -0500 Subject: [PATCH 3/3] Update space.md --- docker-for-mac/space.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-for-mac/space.md b/docker-for-mac/space.md index 4a32a5f066..61ec635d09 100644 --- a/docker-for-mac/space.md +++ b/docker-for-mac/space.md @@ -27,13 +27,13 @@ If the file is too big, you can - delete unnecessary containers and images, or - reduce the maximum allowable size of the file. -### To move the file to a bigger drive +### Move the file to a bigger drive To move the file, open the **Preferences...** menu, select **Disk** and then select on **Move disk image**. Do not move the file directly in the finder or Docker for Mac will lose track of it. -### To delete unnecessary containers and images +### Delete unnecessary containers and images To check whether you have too many unnecessary containers and images: @@ -84,11 +84,11 @@ $ ls -klsh Docker.raw In this example, the actual size of the disk is `2333548` KB, whereas the maximum size of the disk is `64` GB. -### To reduce the maximum size of the file +### Reduce the maximum size of the file -To reduce the maximum size of the file, first click on the whale menu and then click on -"Preferences...". When the preferences window appears, click on the "Disk" icon. -The preferences window contains a slider which allows the maximum disk size to be set. +To reduce the maximum size of the file, select the whale menu icon and then select +**Preferences...**. When the **Preferences...** window is displayed, select **Disk**. +The **Disk** window contains a slider that allows the maximum disk size to be set. **Warning**: If the maximum size is reduced, the current file will be deleted and, therefore, all containers and images will be lost.