Install Docker Toolbox On Windows



Estimated reading time: 7 minutes

You can run Compose on macOS, Windows, and 64-bit Linux.

Prerequisites

Docker Compose relies on Docker Engine for any meaningful work, so make sure youhave Docker Engine installed either locally or remote, depending on your setup.

  • On desktop systems like Docker Desktop for Mac and Windows, Docker Compose isincluded as part of those desktop installs.

  • On Linux systems, first install theDocker Enginefor your OS as described on the Get Docker page, then come back here forinstructions on installing Compose onLinux systems.

  • To run Compose as a non-root user, see Manage Docker as a non-root user.

Windows Features: uncheck Hypervisor Install Docker Toolbox. Go to the Docker-Toolbox page.; Download and make sure to follow the directions on the page. Make sure you have all 3 of these. Assuming you install Docker Toolbox on Windows, both docker and docker-machine commands will be available. Often, people get confused when to use either of these. The docker commands are used only within a virtual machine to manage images. The docker-machine commands are used on the host to manage the Linux VMs.

Install Compose

Follow the instructions below to install Compose on Mac, Windows, Windows Server2016, or Linux systems, or find out about alternatives like using the pipPython package manager or installing Compose as a container.

Install a different version

The instructions below outline installation of the current stable release(v1.28.6) of Compose. To install a different version ofCompose, replace the given release number with the one that you want. Composereleases are also listed and available for direct download on theCompose repository release page on GitHub.To install a pre-release of Compose, refer to the install pre-release buildssection.

Install Compose on macOS

Docker Desktop for Mac includes Compose alongwith other Docker apps, so Mac users do not need to install Compose separately.For installation instructions, see Install Docker Desktop on Mac.

Install Compose on Windows desktop systems

Docker Desktop for Windows includes Composealong with other Docker apps, so most Windows users do not need toinstall Compose separately. For install instructions, see Install Docker Desktop on Windows.

If you are running the Docker daemon and client directly on MicrosoftWindows Server, follow the instructions in the Windows Server tab.

Install Compose on Windows Server

Follow these instructions if you are running the Docker daemon and client directlyon Microsoft Windows Server and want to install Docker Compose.

  1. Start an “elevated” PowerShell (run it as administrator).Search for PowerShell, right-click, and chooseRun as administrator. When asked if you want to allow this appto make changes to your device, click Yes.

  2. In PowerShell, since GitHub now requires TLS1.2, run the following:

    Then run the following command to download the current stable release ofCompose (v1.28.6):

Note: On Windows Server 2019, you can add the Compose executable to $Env:ProgramFilesDocker. Because this directory is registered in the system PATH, you can run the docker-compose --version command on the subsequent step with no additional configuration.

  1. Test the installation.

Install Compose on Linux systems

Install Docker Toolbox On Windows Server 2019

On Linux, you can download the Docker Compose binary from theCompose repository release page on GitHub.Follow the instructions from the link, which involve running the curl commandin your terminal to download the binaries. These step-by-step instructions arealso included below.

For alpine, the following dependency packages are needed:py-pip, python3-dev, libffi-dev, openssl-dev, gcc, libc-dev, rust, cargo and make.

  1. Run this command to download the current stable release of Docker Compose:

    To install a different version of Compose, substitute 1.28.6with the version of Compose you want to use.

    If you have problems installing with curl, seeAlternative Install Options tab above.

  2. Apply executable permissions to the binary:

Note: If the command docker-compose fails after installation, check your path.You can also create a symbolic link to /usr/bin or any other directory in your path.

For example:

  1. Optionally, install command completion for thebash and zsh shell.

  2. Test the installation.

Alternative install options

Install using pip

For alpine, the following dependency packages are needed:py-pip, python3-dev, libffi-dev, openssl-dev, gcc, libc-dev, rust, cargo, and make.

Compose can be installed frompypi using pip. If you installusing pip, we recommend that you use avirtualenv because many operatingsystems have python system packages that conflict with docker-composedependencies. See the virtualenvtutorial to getstarted.

If you are not using virtualenv,

pip version 6.0 or greater is required.

Install as a container

Compose can also be run inside a container, from a small bash script wrapper. Toinstall compose as a container run this command:

Install pre-release builds

If you’re interested in trying out a pre-release build, you can download releasecandidates from the Compose repository release page on GitHub.Follow the instructions from the link, which involves running the curl commandin your terminal to download the binaries.

Pre-releases built from the “master” branch are also available for download athttps://dl.bintray.com/docker-compose/master/.

Pre-release builds allow you to try out new features before they are released,but may be less stable.

Upgrading

If you’re upgrading from Compose 1.2 or earlier, remove ormigrate your existing containers after upgrading Compose. This is because, as ofversion 1.3, Compose uses Docker labels to keep track of containers, and yourcontainers need to be recreated to add the labels.

If Compose detects containers that were created without labels, it refusesto run, so that you don’t end up with two sets of them. If you want to keep usingyour existing containers (for example, because they have data volumes you wantto preserve), you can use Compose 1.5.x to migrate them with the followingcommand:

Alternatively, if you’re not worried about keeping them, you can remove them.Compose just creates new ones.

Uninstallation

To uninstall Docker Compose if you installed using curl:

To uninstall Docker Compose if you installed using pip:

Got a “Permission denied” error?

If you get a “Permission denied” error using either of the abovemethods, you probably do not have the proper permissions to removedocker-compose. To force the removal, prepend sudo to either of the abovecommands and run again.

Where to go next

compose, orchestration, install, installation, docker, documentation

If you're running macOS or Windows you have a few options for installing Docker. There's even a third way too, and we'll compare them here.

Quick Jump: OS and Hardware Requirements|Pros and Cons|Which One Should I Use?

If you’re on macOS or Windows you can install Docker with:

  1. Docker for Mac / Windows (now known as Docker Desktop)
  2. Docker Toolbox
  3. Running your own Virtual Machine and installing Docker yourself

All 3 of those options have their own pros and cons and in this article we’re going to cover them. If you’re looking for a high level overview of what Docker for Mac / Windows and Docker Toolbox is, then check out this article on getting to know Docker’s ecosystem.

OS and Hardware Requirements

It’s helpful to know what you can install before we compare everything, so let’s do that:

Docker for Mac (Docker Desktop)

Docker for Mac requires that you’re running Mojave 10.14+ or newer with an Intel CPU. M1 support is on its way.

You can run VirtualBox 6+ alongside Docker Desktop. This is pretty useful because you might have some legacy apps running in Vagrant / VirtualBox to deal with (I know I do!).

Docker for Windows (Docker Desktop)

As of May 27th 2020, Microsoft released Windows 10 build 2004 (Spring 2020) that allows you to run Docker Deskop on all editions of Windows 10, including Home thanks to WSL 2.

As of August 2020, Microsoft enabled WSL 2 support for Windows 10 builds 1903 + 1909.

For years prior to that you could only run it on Windows Pro, Enterprise or any edition that had Hyper-V available, but since August 2020 pretty much all supported versions of Windows 10 can use Docker Desktop.

You can also run VirtualBox 6+ alongside Docker Desktop too in case you have older projects using VirtualBox (perhaps with Vagrant too).

Docker Toolbox

Prior to mid-2020 this was still a reasonable way to run Docker on machines that couldn’t run Docker Desktop, but that’s no longer the case.

It’s now considered legacy and as of late 2020 it’s been officially deprecated.

Unless you’re using unsupported versions of Windows or have a really really ancient Mac you shouldn’t need to ever use this tool.

But if you’re in a pinch and you absolutely must use it, technically it’s still available at https://github.com/docker/toolbox/releases, but it’s no longer maintained by Docker.

Your own Virtual Machine

Docker will happily run inside of VirtualBox, VMWare Workstation or any other Type 1 / 2 Hypervisor that’s running a major distribution of Linux as a guest OS.

If for whatever reason you can’t use Docker Desktop then this solution would be better than using Docker Toolbox since you can install supported versions of Docker and you have full control over the environment.

Pros and Cons

Now for the good stuff!

Docker for Mac / Docker for Windows (Docker Desktop)

Pros
  • Offers the most “native” experience, you can easily use any terminal you you want since Docker is effectively running on localhost from macOS / Windows’ POV.

  • Docker is heavily developing and polishing this solution.

Cons
  • On certain macOS hardware combos the volume performance can be a little slow.

  • I can legit say there are not any “wow this sucks!” cons for Windows, it’s really solid.

Docker Toolbox

Pros
  • Offers an “out of the box” Docker experience if you have no other choice.
Cons
  • It’s deprecated by Docker and will receive no future maintenance.

  • You need to either use the Docker Quickstart Terminal, or configure your own terminal to connect to the Docker Daemon running a VM.

  • Not a native solution, so you’ll need to access your Docker Machine’s IP address if you’re developing web apps. Example: 192.168.99.100 instead of localhost.

  • Unless you jump through hoops, your code needs to live in your Windows user directory such as C:UsersNicksrcmyapp. Otherwise Docker won’t be able to find it.

  • Suffers from typical VirtualBox edge case bugs and mount performance issues.

Install Docker Toolbox On Windows

Your own Virtual Machine

I’m not going to bother listing a pros and cons here because I wouldn’t recommend doing this UNLESS you’re stuck on Windows 7 / 8 or an older version of Windows 10 like 1809.

But more on that in a bit.

Which One Should I Use?

If you’re interested in Docker, you’re a smart person and you probably came to the conclusion that using Docker for Mac or Docker for Windows is a good idea as long as you can run it.

My recommendation would be to try Docker for Mac / Windows first, and test it against your actual use cases. The performance issues may or may not be a concern, especially since everyone’s needs and computer specs are different.

How To Install Docker Toolbox On Windows 10 Home

I’ve been using Docker Desktop on Windows for full time development since late 2018 and it’s been nothing short of fantastic. Currently I use it with WSL 2, but it was really good with WSL 1 along with Hyper-V too.

Stuck on an Old Version of Windows and Like Linux?

I want to mention a “roll your own VM” solution for Windows users because I feel like there’s an even better way to run Docker on Windows if you also like Linux and are stuck not being able to use modern versions of Windows 10.

It involves running VMWare Player in a special mode called “Unity mode”. This basically allows you to run Windows and Linux together seamlessly as 1 operating system.

There’s no dual booting and Linux applications (even graphical apps) run in their own floating windows. Then you can install Docker natively on Linux inside of the VM.

The performance is excellent and the entire set up is free too.

I used this set up for about 5 years until Docker Desktop was available. It gives you the best of both worlds. For example, I run high end audio / video apps on Windows while recording courses and screencasts that cover Linux content. It all works great (even for full time development).

You can watch a video guide and see screenshots on how to do that in this post on creating an awesome Linux development environment in Windows.

Install Docker Toolbox On Windows 10 Home

Are you using the Docker Toolbox, Docker for Mac / Windows or your own VM?