Cómo instalar y comenzar con Docker Desktop en Linux

Docker Desktop es una solución popular de creación de contenedores que agrupa todo lo que necesita para crear imágenes y ejecutar contenedores. Una descarga le brinda Docker, Docker Compose, Kubernetes, una GUI integral y soporte para una gran selección de extensiones de terceros.

Históricamente, Docker Desktop se ha limitado a los sistemas Windows y Mac. Los usuarios de Linux han tenido que instalar Docker Engine manualmente e interactuar con él desde la terminal o una interfaz de usuario separada. Docker anunció una versión de Desktop para Linux en DockerCon 2022, y finalmente ofreció paridad de funciones en las tres plataformas principales. Esta guía le mostrará cómo configurarlo y comenzar.

Índice de contenidos
  1. Preparándose para ejecutar Docker Desktop
  2. Instalación de Docker Desktop
  3. Uso del escritorio de Docker
  4. Habilitación de Kubernetes
  5. Docker Desktop frente a Docker Engine
  6. Configuración del Daemon Docker de Desktop
  7. Personalización de límites de recursos
  8. Resumen

Preparándose para ejecutar Docker Desktop

Los pasos de este artículo se han probado en un entorno limpio de Ubuntu 22.04. Desktop también es compatible con Ubuntu 21.10, Debian 11 y Fedora 35/36. La documentación específica de la distribución está disponible en el sitio web de Docker.

Desktop requiere un sistema de 64 bits con 4 GB de RAM y virtualización de hardware KVM habilitada. El módulo kernel KVM generalmente se habilita automáticamente cuando su host admite la virtualización. Puede verificar ejecutando el kvm-ok dominio:

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Habilite la virtualización en el BIOS o UEFI de su sistema si kvm-ok informa de un error. También puede intentar cargar manualmente el módulo del kernel KVM usando modprobe:

# 1/2
$ sudo modprobe kvm

# 2/2 INTEL ONLY
$ sudo modprobe kvm_intel

# 2/2 AMD ONLY
$ sudo modprobe kvm_amd

Docker Desktop no está diseñado para ejecutarse junto con Docker Engine. Debe detener el servicio Docker si ya ha estado usando Docker Engine en su máquina. Esto reducirá el consumo de recursos y minimizará el riesgo de conflictos entre Engine y Desktop.

$ sudo service docker stop

Instalación de Docker Desktop

El paquete Docker Desktop aún no está disponible en los repositorios, por lo que debe adquirirse manualmente. Descargue el paquete correcto para su sistema operativo usando los enlaces en la documentación.

$ wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.12.0-amd64.deb

El paquete de Docker Desktop depende de otros paquetes del repositorio de Docker. Aunque Desktop en sí no se instala desde el repositorio, aún lo necesita en su lista de fuentes para que se puedan resolver las dependencias. Ejecute la siguiente secuencia de comandos para agregar el repositorio Apt de Docker a su máquina:

$ sudo apt update
$ sudo apt-get install -y 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

# Download the GPG key used to sign the packages in the repository
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Add the repository to your package sources list
$ echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update

Ahora puedes instalar el paquete Desktop con Apt's install dominio:

$ sudo apt install -y ./docker-desktop-4.12.0-amd64.deb

Docker Desktop debería aparecer ahora en su lista de aplicaciones.

Uso del escritorio de Docker

Inicie Docker Desktop desde el iniciador de aplicaciones de su sistema operativo. Debería ver aparecer el icono de la ballena Docker en la bandeja del sistema. Al hacer clic en el icono, se muestra el menú de la bandeja de Docker.

imagen del menú de la bandeja del sistema Docker Desktop en Ubuntu

El proceso de inicialización de la primera ejecución puede tardar un par de minutos en completarse. La animación del ícono se detendrá y la línea de estado en la parte superior del menú cambiará a "Docker Desktop se está ejecutando" cuando Docker esté listo para usarse. Haga clic en el elemento "Panel de control" en la parte superior del menú para abrir la interfaz de usuario si no aparece automáticamente.

Se le pedirá que acepte los términos del servicio y luego se le dirigirá a la pantalla Contenedores. Opcionalmente, puede iniciar sesión en Docker Hub haciendo clic en el botón Iniciar sesión en la barra de título y siguiendo las indicaciones.

imagen de la pantalla de bienvenida de Docker Desktop

intenta correr docker y docker compose en su terminal para comprobar que las CLI están disponibles:

$ docker version
Client: Docker Engine - Community
 Cloud integration: v1.0.29
 Version:           20.10.18
...

$ docker compose version
Docker Compose version v2.10.2

A continuación, inicie un contenedor para verificar que su instalación funcione:

$ docker run -d -p 80:80 docker/getting-started

Su nuevo contenedor debería aparecer en la interfaz de usuario de Docker Desktop. Al hacer clic en el ícono de tres puntos a la derecha de la tabla, se muestra una lista de acciones que puede realizar dentro de Docker Desktop, como abrir una terminal dentro del contenedor o visitar puertos publicados en su navegador.

imagen de la interfaz de contenedores de Docker Desktop

La pestaña Imágenes en el lado izquierdo de la pantalla proporciona una tabla de todas las imágenes de contenedores presentes en su host. Los controles están disponibles para limpiar imágenes no utilizadas, iniciar rápidamente un nuevo contenedor a partir de una imagen y empujar y extraer imágenes entre diferentes registros.

imagen de imágenes en la interfaz de Docker Desktop

Puede obtener más información sobre el uso de Docker Desktop en la documentación. La funcionalidad cubre muchas de las docker Comandos CLI mientras se superponen conceptos adicionales de nivel superior, como entornos de desarrollador para compartir código de trabajo en progreso.

Habilitación de Kubernetes

Docker Desktop tiene soporte integrado para Kubernetes, pero no está habilitado de manera predeterminada. Enciéndalo haciendo clic en el icono del engranaje de configuración en la barra de título de la aplicación y luego seleccionando "Kubernetes" en el menú de la izquierda.

imagen de la configuración de Kubernetes en Docker Desktop

Marque la casilla de verificación "Habilitar Kubernetes" y presione el botón "Aplicar y reiniciar" en la parte inferior derecha. Docker podría tardar varios minutos en adquirir los componentes de Kubernetes y crear su clúster. Aparecerá un icono de estado de Kubernetes en la parte inferior izquierda de la aplicación, junto al icono de Docker. Se volverá verde cuando Kubernetes esté listo para usarse. El estado de Kubernetes también se muestra en la parte superior del menú de la bandeja de Docker Desktop.

A continuación, instale Kubectl. Esta es la CLI utilizada para interactuar con su clúster de Kubernetes. El paquete Snap oficial es la forma más fácil de agregarlo a Ubuntu:

$ sudo snap install kubectl

Ahora intente usar Kubectl para acceder a su clúster:

$ kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
docker-desktop   Ready    control-plane   22m   v1.25.0

los docker-desktop el nodo se muestra como Ready para que puedas empezar a crear Pods:

$ kubectl run nginx --image nginx:latest
pod/nginx created

Exponga su Pod con un servicio:

$ kubectl expose pod/nginx --port 80 --type NodePort
service/nginx exposed

Ahora busque el puerto de host que se asignó al servicio:

$ kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        23m
nginx        NodePort    10.96.132.212   <none>        80:30107/TCP   75s

El número de puerto es 30107. Utilice este puerto para acceder a su servicio y recuperar la página de destino predeterminada de NGINX:

$ curl http://localhost:30107
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>

Su clúster de Kubernetes está completamente operativo. Se iniciará automáticamente siempre que se esté ejecutando Docker Desktop.

Docker Desktop frente a Docker Engine

Docker Engine está completamente separado de Docker Desktop. Docker Engine lanza contenedores como procesos directamente en su host. Utiliza un servicio del sistema para ejecutar el demonio Docker. los docker CLI se dirige a esta instancia de daemon cuando emite comandos.

Docker Desktop ejecuta sus contenedores dentro de una máquina virtual QEMU. No es necesario que interactúe directamente con QEMU, ya que usted se encarga de la creación y administración de la máquina virtual. Al iniciar Docker Desktop, se inicia automáticamente la máquina virtual; salir de la aplicación la cerrará.

La arquitectura de VM era una necesidad para ejecutar Docker en sistemas Windows y Mac. Proporciona un entorno predecible para alojar contenedores de Linux. El equipo de Docker decidió continuar usando máquinas virtuales para escritorio en Linux para evitar que surgieran inconsistencias entre plataformas.

Aunque la máquina virtual no afecta el uso diario de Docker, es una solución más pesada que demanda más recursos que Docker Engine. Puede esperar que la VM consuma alrededor de 2 GB de RAM mientras está inactiva, incluso cuando no hay contenedores en ejecución. El consumo de memoria de Docker Engine sería insignificante en la misma situación.

Esto significa que Docker Engine sigue siendo la mejor manera de ejecutar contenedores en Linux en entornos de producción o donde sea que el rendimiento sea crítico. Desktop es una excelente opción para los desarrolladores que desean usar el mismo flujo de trabajo completamente integrado que sus pares en Windows y Mac. Desktop también es la mejor opción cuando desea usar Kubernetes sin agregar herramientas adicionales. Necesitará un entorno de Kubernetes dedicado, como Minikube o MicroK8s, si usa Docker Engine.

Configuración del Daemon Docker de Desktop

Puede personalizar la configuración del demonio de Docker que utiliza Desktop haciendo clic en el icono de la rueda dentada de configuración en la barra de título y dirigiéndose a la pestaña "Motor de Docker" a la izquierda de la pantalla.

imagen de la gestión de la configuración de Docker Engine en Docker Desktop

Escriba o pegue sus cambios en la entrada provista, luego presione "Aplicar y reiniciar" en la esquina inferior derecha.

Personalización de límites de recursos

Docker Desktop limita automáticamente los recursos que puede consumir su máquina virtual. Los valores predeterminados son la mitad del número total de núcleos de procesador disponibles, el 25 % de la memoria del sistema y un archivo de intercambio de 1 GB.

imagen de la configuración de consumo de recursos en Docker Desktop

Estos límites se pueden cambiar dirigiéndose a la pantalla de configuración de Docker Desktop y haciendo clic en la pestaña "Recursos" en el menú de la izquierda. Utilice los controles deslizantes para personalizar el límite de cada recurso. Puede cambiar el tamaño del disco virtual utilizado para almacenar los datos de la máquina virtual desplazándose hacia abajo en la pantalla. Haga clic en el botón "Aplicar y reiniciar" en la parte inferior derecha cuando haya terminado.

Resumen

Docker Desktop es una solución de creación de contenedores orientada a desarrolladores que combina la docker CLI con una GUI versátil y soporte integrado para Kubernetes. La llegada de Desktop a Linux significa que los equipos de desarrollo pueden estandarizar una cadena de herramientas coherente, independientemente de las preferencias de plataforma de los ingenieros individuales.

Docker Desktop se ve mejor como una alternativa a Docker Engine. Proporciona su propio entorno de contenedores, incluido un Docker Engine virtualizado y un conjunto completo de CLI de Docker. No puede usar la GUI de escritorio con una instalación existente de Docker Engine. Desktop es más aplicable a las estaciones de trabajo de desarrolladores, mientras que Docker Engine debe usarse en servidores de producción donde no necesita una interfaz gráfica y desea evitar los gastos generales de ejecutar una VM.

Descubre más contenido

Subir Change privacy settings