Install Docker Desktop on Linux
Términos de Docker Desktop
El uso comercial de Docker Desktop en empresas más grandes (más de 250 empleados o más de $10 millones de USD en ingresos anuales) requiere una suscripción de pago.
Esta página contiene información sobre los requisitos generales del sistema, las plataformas compatibles e instrucciones sobre cómo instalar Docker Desktop para Linux.
ImportantDocker Desktop en Linux ejecuta una máquina virtual (VM) que crea y utiliza un contexto de docker personalizado,
desktop-linux, al iniciarse.Esto significa que las imágenes y contenedores desplegados en el Docker Engine de Linux (antes de la instalación) no estarán disponibles en Docker Desktop para Linux.
ImportantPara el uso comercial de Docker Engine obtenido a través de Docker Desktop en empresas más grandes (que superen los 250 empleados o con ingresos anuales superiores a los $10 millones de USD), se requiere una suscripción de pago.
Docker Desktop para Linux proporciona una interfaz gráfica fácil de usar que simplifica la gestión de contenedores y servicios. Incluye Docker Engine, ya que es la tecnología principal que hace funcionar los contenedores de Docker. Docker Desktop para Linux también viene con características adicionales como Docker Scout y las Extensiones de Docker.
Instalar Docker Desktop y Docker Engine
Docker Desktop para Linux y Docker Engine se pueden instalar en paralelo en el mismo equipo. Docker Desktop para Linux almacena contenedores e imágenes en una ubicación de almacenamiento aislada dentro de una VM y ofrece controles para limitar sus recursos. Utilizar una ubicación de almacenamiento dedicada para Docker Desktop evita que interfiera con una instalación de Docker Engine en la misma máquina.
Aunque es posible ejecutar simultáneamente Docker Desktop y Docker Engine, puede haber situaciones en las que ejecutar ambos a la vez cause problemas. Por ejemplo, al mapear puertos de red (
-p/--publish) para contenedores, tanto Docker Desktop como Docker Engine pueden intentar reservar el mismo puerto en tu equipo, lo que puede provocar conflictos ("puerto ya en uso").En general, recomendamos detener Docker Engine mientras utilizas Docker Desktop para evitar que Docker Engine consuma recursos y para prevenir los conflictos descritos anteriormente.
Utiliza el siguiente comando para detener el servicio de Docker Engine:
$ sudo systemctl stop docker docker.socket containerdDependiendo de tu instalación, Docker Engine puede estar configurado para iniciarse automáticamente como un servicio del sistema cuando se enciende tu máquina. Utiliza el siguiente comando para deshabilitar el servicio de Docker Engine y evitar que se inicie automáticamente:
$ sudo systemctl disable docker docker.socket containerdCambiar entre Docker Desktop y Docker Engine
La CLI de Docker se puede utilizar para interactuar con múltiples Docker Engines. Por ejemplo, puedes utilizar la misma CLI de Docker para controlar un Docker Engine local y para controlar una instancia remota de Docker Engine que se ejecute en la nube. Los contextos de Docker te permiten cambiar entre las instancias de los Docker Engines.
Al instalar Docker Desktop, se crea un contexto dedicado "desktop-linux" para interactuar con Docker Desktop. Al iniciarse, Docker Desktop establece automáticamente su propio contexto (
desktop-linux) como el contexto actual. Esto significa que los comandos posteriores de la CLI de Docker tendrán como objetivo a Docker Desktop. Al cerrarse, Docker Desktop restablece el contexto actual al contextodefault.Utiliza el comando
docker context lspara ver qué contextos están disponibles en tu equipo. El contexto actual se indica con un asterisco (*).$ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ... default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock ... desktop-linux unix:///home/<user>/.docker/desktop/docker.sock ...Si tienes tanto Docker Desktop como Docker Engine instalados en la misma máquina, puedes ejecutar el comando
docker context usepara cambiar entre los contextos de Docker Desktop y Docker Engine. Por ejemplo, utiliza el contexto "default" para interactuar con Docker Engine:$ docker context use default default Current context is now "default"Y utiliza el contexto
desktop-linuxpara interactuar con Docker Desktop:$ docker context use desktop-linux desktop-linux Current context is now "desktop-linux"Consulta la documentación de los contextos de Docker para obtener más detalles.
Plataformas compatibles
Docker proporciona paquetes .deb y .rpm para las siguientes distribuciones y arquitecturas de Linux:
| Platform | x86_64 / amd64 |
|---|---|
| Ubuntu | ✅ |
| Debian | ✅ |
| Red Hat Enterprise Linux (RHEL) | ✅ |
| Fedora | ✅ |
Hay disponible un paquete experimental para distribuciones basadas en Arch. Docker no ha probado ni verificado la instalación.
Docker ofrece soporte para Docker Desktop en las versiones LTS actuales y anteriores de las distribuciones mencionadas, así como en la versión más reciente.
Requisitos generales del sistema
Para instalar Docker Desktop con éxito, tu host Linux debe cumplir con los siguientes requisitos generales:
- Kernel de 64 bits y soporte de CPU para virtualización.
- Soporte de virtualización KVM. Sigue las instrucciones de soporte de virtualización KVM para comprobar si los módulos del kernel KVM están habilitados y cómo proporcionar acceso al dispositivo KVM.
- QEMU debe ser la versión 5.2 o posterior. Recomendamos actualizar a la versión más reciente.
- Sistema de inicio systemd.
- Se admiten los entornos de escritorio GNOME, KDE o MATE, pero otros pueden funcionar.
- En muchas distribuciones de Linux, el entorno GNOME no admite iconos de bandeja. Para añadir soporte para iconos de bandeja, debes instalar una extensión de GNOME. Por ejemplo, AppIndicator.
- Al menos 4 GB de RAM.
- Habilitar la configuración de mapeo de ID en espacios de nombres de usuario, consulta File sharing. Ten en cuenta que a partir de la versión 4.35 de Docker Desktop, esto ya no es necesario.
- Recomendado:
Inicializar
passpara la gestión de credenciales.
Docker Desktop para Linux ejecuta una máquina virtual (VM). Para más información sobre el porqué, consulta Por qué Docker Desktop para Linux ejecuta una VM.
NoteDocker no ofrece soporte para ejecutar Docker Desktop para Linux en escenarios de virtualización anidada. Recomendamos ejecutar Docker Desktop para Linux de forma nativa en las distribuciones compatibles.
Soporte de virtualización KVM
Docker Desktop ejecuta una VM que requiere soporte de KVM.
El módulo kvm debería cargarse automáticamente si el host tiene soporte para virtualización. Para cargar el módulo manualmente, ejecuta:
$ modprobe kvm
Dependiendo del procesador de la máquina host, se debe cargar el módulo correspondiente:
$ modprobe kvm_intel # Intel processors
$ modprobe kvm_amd # AMD processors
Si los comandos anteriores fallan, puedes ver el diagnóstico ejecutando:
$ kvm-ok
Para comprobar si los módulos de KVM están habilitados, ejecuta:
$ lsmod | grep kvm
kvm_amd 167936 0
ccp 126976 1 kvm_amd
kvm 1089536 1 kvm_amd
irqbypass 16384 1 kvm
Configurar los permisos de usuario del dispositivo KVM
Para comprobar la propiedad de /dev/kvm, ejecuta:
$ ls -al /dev/kvm
Añade tu usuario al grupo kvm para poder acceder al dispositivo kvm:
$ sudo usermod -aG kvm $USER
Cierra la sesión y vuelve a iniciarla para que se vuelva a evaluar tu pertenencia al grupo.
Uso de SDKs de Docker con Docker Desktop
Docker Desktop para Linux utiliza un socket por usuario en lugar de /var/run/docker.sock para todo el sistema. Los SDKs y herramientas de Docker que se conectan directamente al demonio de Docker necesitan tener configurada la variable de entorno DOCKER_HOST para conectarse a Docker Desktop. Para obtener detalles de configuración, consulta
¿Cómo utilizo los SDKs de Docker con Docker Desktop para Linux?.
¿Qué sigue?
- Instalar Docker Desktop para Linux en tu distribución específica de Linux: