Cómo usar el comando docker desktop enable model-runner para gestionar configuraciones de Model Runner

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás a gestionar la configuración de Docker Model Runner utilizando el comando model-runner dentro de Docker Desktop. Cubriremos cómo habilitar el demonio de Docker para que escuche en un puerto TCP predeterminado, configurarlo para que escuche en un puerto TCP personalizado y, finalmente, deshabilitar la conexión TCP para Docker Model Runner.

A través de pasos prácticos, modificarás el archivo de configuración del demonio de Docker (daemon.json) para controlar las interfaces de red en las que el demonio escucha, reiniciarás el servicio de Docker para aplicar los cambios y comprenderás las implicaciones de habilitar o deshabilitar conexiones TCP para acceso remoto y seguridad.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555140{{"Cómo usar el comando docker desktop enable model-runner para gestionar configuraciones de Model Runner"}} docker/restart -.-> lab-555140{{"Cómo usar el comando docker desktop enable model-runner para gestionar configuraciones de Model Runner"}} docker/system -.-> lab-555140{{"Cómo usar el comando docker desktop enable model-runner para gestionar configuraciones de Model Runner"}} end

Habilitar Docker Model Runner con el puerto TCP predeterminado

En este paso, aprenderemos cómo habilitar el demonio de Docker para que escuche conexiones en un puerto TCP predeterminado. Por defecto, el demonio de Docker se comunica a través de un socket Unix, que es más seguro para acceso local. Sin embargo, para acceso remoto o casos de uso específicos, habilitar TCP puede ser necesario.

Para habilitar que el demonio de Docker escuche en un puerto TCP, debemos modificar su archivo de configuración. El archivo de configuración principal de Docker generalmente se encuentra en /etc/docker/daemon.json. Si este archivo no existe, puedes crearlo.

Primero, verifiquemos si el archivo daemon.json existe. Podemos usar el comando ls para esto.

ls /etc/docker/daemon.json

Si el archivo existe, el comando mostrará su ruta. Si no existe, verás un mensaje de error indicando que el archivo o directorio no se encuentra.

Ahora, editaremos o crearemos el archivo /etc/docker/daemon.json usando el editor nano. Añadiremos o modificaremos la clave hosts para incluir la dirección y puerto TCP. El puerto TCP predeterminado para Docker es 2375 (sin cifrar) o 2376 (con cifrado TLS). Para este paso, usaremos el puerto sin cifrar 2375 por simplicidad.

Abre el archivo con nano:

sudo nano /etc/docker/daemon.json

Si el archivo estaba vacío o no existía, añade el siguiente contenido. Si el archivo ya tenía contenido, añade o modifica la clave hosts para incluir "tcp://0.0.0.0:2375". La entrada unix:///var/run/docker.sock asegura que el demonio siga escuchando en el socket Unix predeterminado también.

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

Después de añadir o modificar el contenido, guarda el archivo presionando Ctrl + X, luego Y para confirmar, y Enter para escribir el nombre del archivo.

Para que los cambios surtan efecto, debes reiniciar el servicio Docker. Podemos hacer esto usando el comando systemctl.

sudo systemctl restart docker

Después de reiniciar el servicio Docker, puedes verificar que está escuchando en el puerto TCP usando el comando ss para buscar sockets en escucha. Buscaremos un proceso escuchando en el puerto 2375.

sudo ss -tuln | grep 2375

Si el demonio de Docker está escuchando correctamente en el puerto 2375, deberías ver una salida similar a esta, indicando un proceso escuchando en ese puerto:

tcp   LISTEN 0      4096   0.0.0.0:2375      0.0.0.0:*

Esto confirma que el demonio de Docker ahora es accesible vía TCP en el puerto 2375.

Habilitar Docker Model Runner con un puerto TCP personalizado

En el paso anterior, habilitamos el demonio de Docker para que escuche en el puerto TCP predeterminado 2375. En este paso, aprenderemos cómo configurar el demonio de Docker para que escuche en un puerto TCP personalizado en lugar del predeterminado. Esto puede ser útil por razones de seguridad o para evitar conflictos de puertos.

Nuevamente modificaremos el archivo /etc/docker/daemon.json. Cambiaremos el puerto TCP de 2375 a un puerto personalizado, por ejemplo, 2376.

Abre el archivo daemon.json usando el editor nano:

sudo nano /etc/docker/daemon.json

Modifica la clave hosts para cambiar el puerto TCP de 2375 a 2376. El contenido del archivo debería verse así:

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}

Guarda el archivo presionando Ctrl + X, luego Y para confirmar, y Enter para escribir el nombre del archivo.

Después de modificar la configuración, debes reiniciar el servicio Docker para que los cambios surtan efecto.

sudo systemctl restart docker

Ahora, verifiquemos que el demonio de Docker está escuchando en el nuevo puerto TCP personalizado 2376 y ya no está escuchando en el puerto predeterminado 2375. Podemos usar nuevamente el comando ss.

Primero, verifica el puerto 2376:

sudo ss -tuln | grep 2376

Deberías ver una salida que indica que hay un proceso escuchando en el puerto 2376:

tcp   LISTEN 0      4096   0.0.0.0:2376      0.0.0.0:*

Luego, confirmemos que ya no está escuchando en el puerto 2375:

sudo ss -tuln | grep 2375

Este comando no debería producir ninguna salida, lo que indica que el demonio de Docker ya no está escuchando en el puerto 2375.

Esto confirma que hemos configurado exitosamente el demonio de Docker para que escuche en un puerto TCP personalizado.

Deshabilitar la conexión TCP para Docker Model Runner

En los pasos anteriores, habilitamos el demonio de Docker para escuchar en un puerto TCP predeterminado y luego en uno personalizado. Si bien habilitar TCP puede ser útil para acceso remoto, generalmente es más seguro deshabilitarlo cuando no se necesita y depender del socket Unix predeterminado para comunicación local.

En este paso, aprenderemos cómo deshabilitar la conexión TCP para el demonio de Docker eliminando la entrada TCP del archivo de configuración.

Nuevamente modificaremos el archivo /etc/docker/daemon.json usando el editor nano.

Abre el archivo daemon.json:

sudo nano /etc/docker/daemon.json

Modifica la clave hosts para eliminar la entrada TCP ("tcp://0.0.0.0:2376" o "tcp://0.0.0.0:2375" dependiendo del paso anterior). El contenido del archivo ahora solo debe incluir la entrada del socket Unix:

{
  "hosts": ["unix:///var/run/docker.sock"]
}

Guarda el archivo presionando Ctrl + X, luego Y para confirmar, y Enter para escribir el nombre del archivo.

Después de modificar la configuración, debes reiniciar el servicio Docker para que los cambios surtan efecto.

sudo systemctl restart docker

Ahora, verifiquemos que el demonio de Docker ya no está escuchando en ningún puerto TCP. Podemos usar el comando ss y verificar tanto el puerto 2375 como el 2376.

Verifica el puerto 2375:

sudo ss -tuln | grep 2375

Este comando no debería producir ninguna salida.

Verifica el puerto 2376:

sudo ss -tuln | grep 2376

Este comando tampoco debería producir ninguna salida.

Esto confirma que hemos deshabilitado exitosamente la conexión TCP para el demonio de Docker. El demonio ahora solo es accesible a través del socket Unix predeterminado, que es la configuración predeterminada más segura para acceso local.

Resumen

En este laboratorio, aprendimos cómo gestionar la configuración de Docker Model Runner habilitando y deshabilitando conexiones TCP para el demonio de Docker. Comenzamos activando el demonio de Docker para que escuche en el puerto TCP predeterminado 2375 modificando el archivo de configuración /etc/docker/daemon.json para incluir "tcp://0.0.0.0:2375" en el array hosts y luego reiniciando el servicio Docker.

El laboratorio también cubre cómo habilitar el demonio de Docker con un puerto TCP personalizado y cómo desactivar completamente las conexiones TCP eliminando la entrada TCP del array hosts en el archivo daemon.json y reiniciando el servicio Docker. Estos pasos demuestran cómo configurar la accesibilidad de red de Docker para diferentes casos de uso.