Preámbulo
Con los recientes cambios en las licencias de Docker Desktop, muchos desarrolladores y empresas han comenzado a buscar alternativas para manejar contenedores sin incurrir en costos adicionales o restricciones de licencia. Aunque herramientas como Podman o Rancher ofrecen soluciones robustas, a menudo presentan una curva de aprendizaje más pronunciada para quienes están acostumbrados a Docker, o bien requieren de muchas configuraciones para que logren funcionar de la misma manera en la que Docker lo hace. Afortunadamente, es posible utilizar Docker sin depender de Docker Desktop. En este artículo, exploraremos cómo hacerlo de manera efectiva.
Decidí escribir este artículo tras haber pasado seis meses probando Podman y Rancher. Aunque ambas herramientas son poderosas, encontré que trabajar con Docker sin Docker Desktop ofrecía una experiencia más directa para mis necesidades. Sin embargo, me encontré con ciertas limitaciones que quiero abordar a lo largo del artículo.
Instalación
El único requisito previo es Homebrew, que si no lo tienes instalado, puedes encontrar instrucciones en su página aquí.
Para empezar, debemos de instalar Docker y el asistente de gestión de credenciales. Este asistente nos permitirá usar el llavero de macOS como almacén de credenciales para repositorios de contenedores remotos en lugar de Docker Desktop.
brew install docker docker-credential-helper
Luego tendremos que actualizar las configuraciones de docker, para esto editaremos el archivo en ~/.docker/config.json
con cualquier editor de archivos, por ejemplo nano
. Las claves importantes que debemos actualizar son credsStore
y currentContext
.
nano ~/.docker/config.json
{
"auths": {},
"credsStore": "osxkeychain",
"currentContext": "colima"
}
Ahora debemos instalar un container runtime, en mi caso opté por Colima
brew install colima
Por último para levantar o detener el servicio, bastará con ejecutar sus respectivos comandos
colima start # Para iniciar el servicio
colima stop # Para detener el servicio
Para todos aquellos que les gustan las interfaces gráficas, pueden usar la extensión de Docker para VS Code, la cual lee el currentContext
de la configuración que actualizamos y automáticamente se conecta y nos muestra la misma información que teníamos en el Docker Desktop.
Una segunda alternativa si no quisiéramos usar la extensión de VS Code y tenemos Raycast instalado, podremos usar su extensión de Docker.
Configuración del socket
Algunas aplicaciones se conectan directamente al socket de Docker, el cual usualmente se encuentra en /var/run/docker.sock
, para estas aplicaciones lo mejor es crear un enlace simbólico de colima hacia esa ruta, ejecutando este comando:
sudo ln -s /Users/TU_USUARIO/.colima/default/docker.sock /var/run/docker.sock
Conclusiones
Con estas instrucciones, puedes seguir utilizando Docker sin la necesidad de Docker Desktop, manteniendo así la flexibilidad de tus proyectos y asegurando el cumplimiento de las nuevas políticas de licencias. Al final si lo que buscamos es tener la experiencia más cercana a Docker, no hay nada más cercano a eso que usar el mismo CLI de Docker.