Never again Docker on macOS
November 4, 2021•250 words
If you don't want to use Docker Desktop because it's extremely annoying without a Pro account, since you always have to apply every update immediately, Docker on macOS can become a real pain in the ass. In theory, docker-machine should be an alternative. Unfortunately, it often causes problems with VirtualBox or the network configuration when using Hyperkit isn't working. Fortunately, I always have enough Linux machines available. However, it is of course also annoying when you always have to log in to another computer just to build a Docker image. But there is a simple solution for this if you have a Linux machine available.
First of all, of course, install Docker on the Linux machine. Make sure your user can use the Docker by adding it to the group docker
. Then set up an SSH connection for which you don't need a password. For this create an SSH key with ssh-keygen
. Add the public key to $HOME/.ssh/authorized_keys
on the Linux host (create the file if it doesn't exist). On your Mac, add the private key to the SSH agent using ssh-add /path/to/private/keyfile
. Test the connection by logging into your Linux machine using ssh username@ip-address
.
If everything works, create a context for your Docker CLI:
docker context create myserver --docker "host=ssh://username@X.X.X.X:22"
And finally tell the Docker CLI to use this context:
docker context use myserver
Now you can use your docker
command as usual and it will automatically use the Docker daemon on the Linux host.