How to Run Docker on Your 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
docker.dmg file you downloaded, and drag the Docker app's cartoon whale icon into your Applications folder.
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.
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:
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.
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.
Get the best of iMore in your inbox, every day!
Nathan Alderman is an iMore contributor. He’s been using Apple computers since his first Apple IIe in 1985, and writing professionally about Macs and their software since 2005. During his 12 years freelancing for Macworld, he covered email clients, web browsers, web design programs, writing apps, and games, and he’s continued to follow those interests at iMore since 2017. An editor and writing coach in his full-time career, he spends his dwindling spare time writing fiction for fun, volunteering for democracy, and contributing to podcasts on The Incomparable Network. Nathan adores his wife and wrangles his alarmingly large children in bucolic Crozet, VA.
Great guide. My main use for Docker was PiHole and to install a local version of Ghost to test things before sending them to my production Ghost install.