Having upgraded to El Capitan a while back I recently ran into a problem with docker-compose from docker-toolbox 1.10.0:

For Macs running OS X El Capitan 10.11 and newer macOS releases, Docker Desktop for Mac is the better solution. For Windows 10 systems that support Microsoft Hyper-V (Professional, Enterprise and Education), Docker Desktop for Windows is the better solution. Union file system: Union file systems implement a union mount and operate by creating. Docker For Mac Os X El Capitan Easeus Disk Copy For Mac Os X Rar For Mac Os X 10.6.8 Download Mac Os X Yosemite Iso For Virtualbox Cocoa Programming Tutorial For Mac Os X Skype For Mac Os X 10.6 8 Download Epson Scanner Driver For Mac Os X 10.9 Free 3d Software For Mac Os X Download Xcode For Os X 10.9. Installing Docker on Mac is pretty straightforward. It has a Graphical installer.dmg file. The installation provides Docker Engine, Docker CLI client, Docker Compose, Docker Machine, and Kitematic. Pre-requisites for installing Docker on Mac. Docker requires OS X El Capitan 10.11 or newer macOS release running on a 2010 or newer Mac.

Docker Mac El Capitan

The workaround quoted in that issue pointed using pip to install compose and unfortunately it was at this point at which I discovered that my python install had been affected by the upgrade to OSX 10.11. It’s recommended to use the homebrew install of python as opposed to the native OSX install but on running ‘brew install python’ I was met with the following error:

...
checking whether the C compiler works... no
configure: error: in`/private/tmp/python20160209-13211-1p5rdjv/Python-2.7.11':
configure: error: C compiler cannot create executables
See `config.log'for more details
...

Macos El Capitan Usb Installer. Arch linux install docker. Arch Linux instance with SSH access; A sudo user configured; Stable internet connection; Step 1) Install Docker on Arch Linux. There are various ways that you can use to install Docker. Automated setup for installing a Docker Lab on your Mac Prerequisites: OSX Yosemite and El Capitan (not tested on the Beta or Developer Previews) Terminal; Internet Access; Changelog: 1.2 Add Python back, updated Docker Toolbox to 1.10.3, added Hashicorp's Otto, added variables for pkg and dmgs. 1.1 Removed Python Installer; 1.0 Initial Build.

After some digging I discovered that all that was needed was an upgrade of XCode to version 7. While this does make sense considering OSXs compilers are managed by XCode it wasn’t eluded to in the stacktrace and the homebrew stacktrace seemed to be flagging a wider compatibility issue with OSX 10.11 itself as the root cause, which would be far more worrying. Once I’d done this through the app store I was then able to fix my python build.

If you don’t already have the excellent homebrew package manager run this:

ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'
brew update

Otherwise:

My ‘pip install docker-compose’ command now works like a charm.

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.

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

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.

Docker Desktop El Capitan

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.

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:

Capitan

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

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

Toolbox

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.