Docker El Capitan

Docker takes up a lot of space. When we run the container, pull the image, deploy the application, and build our own image, our disk space will be occupied.

  1. Docker Toolbox El Capitan
  2. Docker El Capitan Update
  3. Docker Mac El Capitan
  • Install Docker on El Capitan. GitHub Gist: instantly share code, notes, and snippets.
  • The Docker client contacted the Docker daemon. The Docker daemon pulled the 'hello-world' image from the Docker Hub. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. The Docker daemon streamed that output to the Docker client, which sent it to.

If you are also troubled by this problem, let’s take a look at how docker uses disk space and how to recycle it.

To access Docker from the launchpad, possibly an update is needed to newer applications; including installing the Docker Toolbox for Mac/Windows. I would also consider after the installation enabling Live Restore to keep containers alive and running in case of any other subsequent mishaps.

The space occupied by docker can be viewed through the following command:

TYPEFour types of disk used by docker are listed:

  • Images: space occupied by all images, including pulled images and locally built images.
  • Containers: the space occupied by the running containers, indicating the space of each container’s read-write layer.
  • Local volumes: the space for the container to mount the local data volume.
  • Build cache: mirrors the cache space generated during the build process (only available when using buildkit, available after docker 18.09).

finalRECLAIMABLEIs recyclable size.

Let’s take a look at these types.

Disk usage of container

Every time a container is created, some files and directories are created, such as:

  • /var/lib/docker/containers/IDDirectory. If the container uses the default log mode, all its logs will be saved to this directory in JSON form.
  • /var/lib/docker/overlay2The directory contains the read-write layer of the container. If the container uses its own file system to save data, it will be written to this directory.

Now let’s start with a completely clean system, assuming that docker has just been installed:

First, we start a nginx container:

Run nowdfAfter the command, you will see:

  • One image, 126mb
  • A container

There is no recyclable space at this time because the container is running and the mirror is being used.

Docker Toolbox El Capitan

Now, let’s create a 100MB empty file in the container:

View space again:

You can see that the space occupied by the container has increased. Where is the file stored on this machine?

As mentioned above, it is stored in the read-write layer of the container.

When the container is stopped, the space occupied by the container becomes recyclable:

How to recycle it? Deleting a container will delete the space occupied by its associated read-write layer.

You can also delete all stopped containers with one click:

After deleting the container, the image can also be recycled:

abovedocker container pruneThe command is to delete stopped containers. If you want to delete all containers (including stopped and running ones), you can use the following two commands:

Mirrored disk usage

Some of the images are invisible:

  • A child image is an intermediate image referenced by other images and cannot be deleted.
  • A suspended image, that is, an image that will no longer be used, can be deleted.

The following command lists all mirrors in the suspended state:

Delete this type of image:

Or:

If you want to delete all mirrors, you can use the following command:

Note that the image being used by the container cannot be deleted.

Disk usage of data volume

Capitan

Data volume is the data storage outside the file system of the container itself.

For example, the application in the container has the function of uploading pictures, which can’t be saved in the container after uploading, because the data in the container will be deleted with the death of the container, so these pictures should be saved outside the container, that is, the data volume.

For example, we run a mongodb container for testing and import a lot of test data, which is not inside the container, but in the data volume, because the data volume is used in the dockerfile of mongodb.

After the test is completed, the mongodb container is deleted, but the test data is still there and has not been deleted.

To delete a data volume that is no longer in use:

Or:

Disk usage of build cache

Docker 18.09 introduced buildkit to improve the performance, security, storage management and other capabilities of the construction process.

To delete the build cache, you can use the following commands:

One click cleaning

Through the above instructions, we know that containers, images, and data volumes all providepruneThis subcommand helps us reclaim space.

In fact, the docker system also haspruneThis subcommand can clear the useless space with one click:

It’s a good habit to execute this order regularly.

Translation from:

https://medium.com/better-programming/docker-tips-clean-up-your-local-machine-35f370a01a78

The above is the whole content of this article. I hope it will help you in your study, and I hope you can support developepaer more.

Docker31 Jul 2016 #Docker

A quick guide on how to run containers requiring a GUI with Docker for Mac and XQuartz.

This guide is assuming the following:

  • OS X 10.11.5 (El Capitan)
  • Docker for Mac 1.12 stable
  • XQuartz 2.7.10 beta 2
  • Jessie Frazelle’s Firefox Dockerfile

Prerequisites

Docker

XQuartz

You’ll need XQuartz, and normally you would probably install it via brew (but not this time):

XQuartz 2.7.9, which is the current one provided by brew, has a bug which will prevent you from following this guide. So, head on over and download XQuartz 2.7.10 beta 2 from here.

Docker El Capitan Update

After installing XQuartz, log out and back in to OS X.

Docker for Mac

Capitan

Download Docker for Mac 1.12 stable from here, install and run.

Docker

Go!

Run XQuartz in e.g. bash:

Docker Mac El Capitan

In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked:

Again, in e.g. bash, run xhost and allow connections from your local machine:

You can now to run e.g. Jessie Frazelle’s Firefox container:

Please enable JavaScript to view the comments powered by Disqus.