[Preferred] Developing MinIO Operator with Rancher Desktop and Docker - cesnietor/dev-docs GitHub Wiki
Overview
Developing for MinIO Operator requires to have a Kubernetes environment due to the nature of the product itself.
Rancher Desktop using Docker engine, is an alternative to Docker Desktop (which requires subscription) and with few tweaks and considerations it can be a good replacement.
Rancher Desktop creates the Virtual Machine needed to run the containers.
You can download the binaries but for Mac you still require a dockerd daemon and Virtual machine as per Docker docs:
"The macOS binary includes the Docker client only. It does not include the dockerd daemon which is required to run containers."
Note: This assumes you are using Mac M2 Pro.
See also:
Prerequirements:
- MinIO Operator cloned
- Uninstall or Stop and Quit Docker Desktop App.
Installing Docker compose
- Install Rancher Desktop See instructions or use brew's cask or run:
brew install --cask rancher
- Make sure you select to use
dockerd
as the container engine.
Rancher Desktop already includes the docker-compose. In case this is not installed (by verifying with
which docker-compose
, follow the steps defined in Installing docker-compose).
- Run Diagnostics on Rancher Desktop and fix the symlinks as appropiate. (Usually complains about docker-compose and docker-buildx). e.g.:
ln -sfn ~/.rd/bin/docker-compose ~/.docker/cli-plugins/docker-compose
- Configure Rancher's Virtual Machine to have at least 6Gb of memory and 2 CPUs.
- Disable Kubernetes in the UI
- Restart Rancher Desktop.
That's it. You can now start your Kind cluster as usual.
Installing docker-compose
- Install Docker binaries (not same as installing Docker Desktop):
brew install docker docker-compose
- Follow command's output instructions:
mkdir -p ~/.docker/cli-plugins
ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose
References: