Replacing Docker Desktop with VMware Fusion or Workstation
Just recently Docker announced some new pricing tiers for it’s almost ubiquitous Docker Desktop. I’m not going to opine much on this, time will tell whether this is a company saving move or not. Suffice to say that I work for a large company and would need a subscription to continue using Docker Desktop.
So @docker has a new monetization strategy that's definitely innovative. "Docker Desktop requires you pay them if you're at a large company," which they define as over $10 million in revenue or 250 employees.https://t.co/FIV7W0bZw5— Corey Quinn (@QuinnyPig) August 31, 2021
This is an important question. I actually don’t use many of Docker Desktop’s features, I rarely use the UI short of rebooting the VM and adjusting it’s memory allocation when I use KIND.
I already have VMware Fusion running on my Macbook Pro, and I can have a CentOS docker host configured as a VM locally, so I can target the
docker CLI to use my local docker host and pretty much carry on as usual. The downside of this is that I have to download and install the pre-compiled Docker binary for MacOS, and maintain my docker host VM, which includes patching, updates, configuration etc.
Luckily, I remembered that Fusion (and Workstation) now ships with support for containers through the
vctl is a pretty much drop in replacement for
docker (so much so that I’ve created an alias
alias docker=vctl) with the added benefit that Fusion is responsible for the management of a lightweight virtual machine (the CRX VM) to host containers.
Add to that the fact that
vctl also supports deploying KIND (Kubernetes-in-Docker) to a CRX VM, and we’ve got a seriously useful tool here!
Assuming that you’ve got Fusion or Workstation installed, getting started with
vctl is pretty easy. You can just run
vctl system start (or configure the resources for the CMX VMs using the
vctl system config commands).
From there, you can use
vctl commands like you would
docker - as I mentioned before, I have created an alias
alias docker=vctl, so the following commands could be using
Creating a KIND cluster with
vctl is, again, a trivial thing. You can configure memory and CPU with the
vctl system config commands, or go with the defaults. Running
vctl kind configures an alias for
docker so that
kind cluster create will use
vctl. After that you can use your
kind cluster in exactly the normal way.
So far, I’m loving
vctl - so much so I’ve removed Docker Desktop from my laptop completely and am relying on it as my main driver! The key for me is that it’s super easy to switch and virtually a drop in replacement.
I’d love to hear how you plan to deal with Docker’s new pricing structures - are you affected? Will you pay up, or will you find an alternative? Docker have to find a viable business model, that’s for sure…is it this? I don’t know.
Tweet me @sammcgeown!