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.

  1. Get Started With Docker Docker
  2. Docker Desktop Community Download Mac Installer
  3. Docker Desktop Download
  4. Docker For Mac Download
  5. Docker Community - Connect With Docker Enthusiasts Docker
  6. Docker Desktop Community Download Mac 10.10

Quick Jump: OS and Hardware RequirementsPros and ConsWhich One Should I Use?

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

Contrary to Docker Desktop (Docker for Mac/Win), which are built using open source components, but also contains proprietary code, our Community Edition Linux packages are, and have always been fully open source; all source-code and packaging scripts can be found on GitHub. Docker for Mac. Docker for Mac is the current release of Docker for macOS. Docker for Mac can be downloaded here. Docker Toolbox. Docker Toolbox is a legacy desktop solution for older Mac and Windows systems that do not meet the requirements of Docker for Mac and Docker.

  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)

Get Started With Docker Docker

Docker for Mac requires that you’re running Yosemite 10.10.3+ or newer but it’s worth mentioning that you should upgrade to 10.11+ because 10.10.x releases are considered “use at your own risk”.

You can run VirtualBox 6+ alongside Docker for Mac. 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.

For years prior to that you could only run it on Windows Pro, Enterprise or any edition that had Hyper-V available, but since this new Spring 2020 build WSL 2 is available and Docker Desktop can be configured to use it.

You can also run VirtualBox 6+ alongside Docker Desktop too, although the performance is so-so, but you can use this in a pinch if you have old legacy apps that use Vagrant and VirtualBox together.

Docker Toolbox

If you can’t run Docker for Mac or Docker for Windows then there’s the Docker Toolbox. It has much less strict requirements. As long as you can run VirtualBox then you’re good to go (Docker Toolbox manages this for you).

Docker Desktop Community Download Mac Installer

It works all the way back to MacOS 10.8 and Windows 7 (yep, even Home editions).

Your own Virtual Machine

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

So, similarly to the Docker Toolbox, rolling your own VM has the same requirements.

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

Docker Desktop Download

Pros
  • Offers an “out of the box” Docker experience if you have no other choice.

Docker For Mac Download

Cons
  • 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.

    Download webex recording for mac

  • 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.

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. But more on that in a bit…

Install Docker Desktop on Windows   Docker Documentation

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.

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.

On Windows 7 and Like the Idea of Running Linux Too?

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 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.

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

At the time of writing, there was only a GitLab Runner version available for macOS manual installation. In this case, one way to easily install the Gitlab Community Edition (CE) on Mac is to use Docker or a virtual machine. In a virtual machine you can use the GitLab CE Omnibus version for Ubuntu or other operational system available. After this consideration, I share my installation process as an example:

Installing the Docker version

  1. Install Docker for macOS: https://store.docker.com/editions/community/docker-ce-desktop-mac
  2. Install and run Portainer, if you prefer to manage your Docker visually:

    Note: if your port 9000 is already used, you can change to avoid errors. Example using port 9001 on Mac to reach the container’s port 9000:

    Now you can manager your Docker with Portainer at http://localhost:9001.

  3. Install and run the image:

    Change gitlab.example.com to your preferred host name. Choose the port to access the gitlab from your macOS.
    This will download and start a GitLab CE container and publish ports needed to access SSH, HTTP and HTTPS. All GitLab data will be stored as subdirectories of /srv/gitlab/. The container will automatically restart after a system reboot.

    More about Docker CE for Mac: documentation.

    If you find an error such as bellow (“Mounts denied”):

    use this command to solve:

    remove the image and try to install it again. You can do it using some graphical docker manager (i.e. portainer) or using commands like:


    Reference to understand this problem: Docker Forum.

Docker Community - Connect With Docker Enthusiasts Docker

Installing the Omnibus version in a virtual machine

  1. Install a virtual machine (VirtualBox): https://www.virtualbox.org/wiki/Downloads
  2. Download and install Ubuntu 16.04 or the latest version compatible with Gitlab
  3. Run Ubuntu. Open the terminal.
  4. Install the SMTP server to send e-mails, such as Postfix. In this case, run:
  5. During the installation of Postfix, select ‘Internet Site’ and choose the domain name for messages, such as “gitlab.myname.com”.
  6. Add the Gitlab package server and install it:
  7. At the end of the installation, you will see your server address, based on the name of the virtual machine:Notice that, in this example, the server name is: http://gitlab-server
  8. Configure and start Gitlab:
  9. Now you need to access your server for the first login.
  10. As oriented in Gitlab installation instructions:

    On your first visit, you’ll be redirected to a password reset screen to provide the password for the initial administrator account. Enter your desired password and you’ll be redirected back to the login screen.

    The default account’s username is root. Provide the password you created earlier and login. After login you can change the username if you wish.

  11. Now, to access your virtual server from your local machine, you need to configure VirtualBox network, setting the Adaptor to Bridge Mode. Go to VirtualBox Configuration > Network:
  12. To discover your virtual server ip address, use the following command:

    Your IP address will be displayed as highlighted below:

  13. Now, you’re able to access your Gitlab using the virtual machine ip address from your local OS, which will be faster and probably better than working from the virtual machine:
  14. If you want to access using a virtual host name, open terminal and run the following command to edit the hosts file:

    To close and save you file, hit control x to exit, then type y, and hit return to save your changes. Now you will be able to access the virtual server using the virtual host:

Versioning References

Docker Desktop Community Download Mac 10.10

  • VirtualBox 5.1.22 r115126 (Qt5.6.2)
  • Ubuntu 16.04.2 LTS
  • GitLab CE Ominibus for Ubuntu 16.04