Docker on Mac

The platform known as Docker has become one of the most popular ways to run a new kind of software known as containerized apps. And while Docker's mainly aimed at programmer types, there are a few reasons why everyday Mac users might want it around as well.

What are containerized apps?

Containerized apps are tidy little packages of software that bundle nearly everything they need to run in a single, self-contained box.

Programmers can write an app once and know that it'll run anywhere, every time. Businesses get an efficient way to run lots of apps on a single server without straining their hardware. And users get apps that won't sprawl out and spread files into their hard drives' nooks and crannies, nor start hogging memory and slowing down the entire computer.

How does Docker work?

Docker uses emulation to ensure that the same containerized app can run on any machine where Docker's installed. And because it emulates an operating system – usually some flavor of Linux, though you can also set it up to run enterprise versions of Windows – instead of actual chip hardware, it demands a lot less memory and processing power than traditional virtual machines like Parallels or VMware Fusion.

Unlike those apps, you can't use Docker to run Windows on your Mac – though you can run at least limited versions of Linux with it. And you can use Docker to run apps that weren't originally written for the Mac.

Once you fire up the easy-to-install Docker app, it runs in the background, and you can use the Terminal or another app called Kitematic (we'll get to that later) to install and run containerized apps.

Who is Docker for?

As mentioned above, Docker's mainly aimed at programmers who want to containerize existing apps or write new ones, and businesses and IT folks who want to use its industrial-grade software.

There are Docker versions of familiar desktop apps like Firefox, Chrome, Skype, Spotify, image editor GiMP, and audio editor Audacity. But most of these apps already have native Mac versions. Running them in containers only makes sense if you like the technical challenge, want to keep a single app from hogging all your system's memory, or want to ensure that any malware you might pick up while browsing the web stays stuck inside its container, unable to escape to the rest of your Mac.

As of this writing, the main reason I've found to run Docker on a Mac is Pi-hole, originally made for the Raspberry Pi. Pi-hole can automatically block Web ads across your entire home network, and Docker's the only way to get it working on a Mac without also having a Raspberry Pi.

How to install Docker on your Mac

1. Create a Docker Hub account

Docker Hub keeps track of the containers you're running (or creating) and provides a one-stop shop to find new ones. Sign up for a Docker account with a unique Docker ID, your email, and a strong password.

2. Download Docker Desktop for Mac

Once you've signed up and signed in to Docker Hub, get Docker Desktop for Mac. It's got everything you'll need to run Docker in one Mac-friendly installer. Your Mac needs to be running Mac OS Sierra or later, and have at least 4GB of RAM.

3. Install Docker Desktop on your Mac

Open the docker.dmg file you downloaded, and drag the Docker app's cartoon whale icon into your Applications folder.

Installing Docker couldn't be simpler.

4. Open and run Docker

When you run the Docker app, a little whale icon will appear on the right side of the menubar atop your screen. It'll take a few minutes to get running, and Docker may ask your permission to use services on your computer. The app will also prompt you to enter the Docker ID and password you just created.

Make the whale happy. Log on with your Docker ID.

When containers stop appearing and disappearing atop the little whale icon in the menubar, and you see a green dot at the top of the Docker menu next to "Docker Desktop is running," you're all set.

Consult the Preferences in the Docker menu to control how big a chunk of your hard drive Docker's allotted, and how much of your memory and CPU it's allowed to use, among other options.

5. Download and install Kitematic

Kitematic lets you install, manage, and remove your Docker containers from a single graphical interface — a lifesaver if you're not familiar or comfortable with the Terminal. You can install, and later open, Kitematic directly from the Docker app's menu:

Kitematic is your friend. Don't hesitate to install it.

Follow the link in that dialog box to install Kitematic. The app may ask for — you guessed it — your Docker ID and password again, just to keep track of your containers.

From Kitematic, you can search for and install new containers, and delete, edit, stop, or restart existing ones. If a container's running, Kitematic gives you an easy way to view its log files, which aren't readily visible from the Terminal. The interface is fairly intuitive, so feel free to play around and see what you can do.

Kitematic offers a friendly graphical front end to manage and install Docker packages.

In my tests, Kitematic came in most useful for deleting troublesome containers whose installation I'd somehow botched. Just find the container in the list on the left side of the Kitematic window, click the X icon next to it, and the container's gone completely, for good. You can always reinstall a package, either from the Terminal or by searching for it in Kitematic, and try again.

Where can I learn more about Docker for Mac?

Consult Docker for Mac's help files for more information about getting started, ways to test that your installation's up and running smoothly, and more things you can do with Docker. There's also a guide to teach you how to create your own containerized apps.

For less technically inclined folks, it's tough to find a good list of desktop apps that work with Docker. Docker Hub doesn't break desktop apps into their own category, but Jessie Frazelle compiled this list in 2015.

Besides Pi-hole, do you have any favorite Docker containers that might benefit everyday Mac users? Ship them our way in the comments below.

macOS Catalina

Main