Compartir comentarios
Las respuestas se generan en base a la documentación.

Descripción general de la configuración del demonio de Docker

Esta página te muestra cómo personalizar el demonio de Docker, dockerd.

Note

Esta página está dirigida a usuarios que han instalado Docker Engine de forma manual. Si estás utilizando Docker Desktop, consulta la página de configuración.

Configurar el demonio de Docker

Hay dos formas de configurar el demonio de Docker:

  • Usar un archivo de configuración JSON. Esta es la opción preferida, ya que mantiene todas las configuraciones en un solo lugar.
  • Usar opciones (flags) al iniciar dockerd.

Puedes utilizar ambas opciones combinadas, siempre y cuando no especifiques la misma opción tanto como flag como en el archivo JSON. Si eso sucede, el demonio de Docker no se iniciará e imprimirá un mensaje de error.

Archivo de configuración

La siguiente tabla muestra la ubicación predeterminada en la que el demonio de Docker espera encontrar el archivo de configuración, según tu sistema y cómo estés ejecutando el demonio.

SO y configuraciónUbicación del archivo
Linux, instalación normal/etc/docker/daemon.json
Linux, modo Rootless~/.config/docker/daemon.json
WindowsC:\ProgramData\docker\config\daemon.json

Para el modo rootless, el demonio respeta la variable XDG_CONFIG_HOME. Si está establecida, la ubicación esperada del archivo es $XDG_CONFIG_HOME/docker/daemon.json.

También puedes especificar explícitamente la ubicación del archivo de configuración al iniciar, utilizando la opción dockerd --config-file.

Conoce más sobre las opciones de configuración disponibles en los documentos de referencia de dockerd

Configuración mediante opciones (flags)

También puedes iniciar el demonio de Docker manualmente y configurarlo utilizando opciones. Esto puede ser útil para diagnosticar problemas.

A continuación se muestra un ejemplo de cómo iniciar manualmente el demonio de Docker, utilizando las mismas configuraciones que se mostraron en la configuración JSON anterior:

$ dockerd --debug \
  --tls=true \
  --tlscert=/var/docker/server.pem \
  --tlskey=/var/docker/serverkey.pem \
  --host tcp://192.168.59.3:2376

Conoce más sobre las opciones de configuración disponibles en los documentos de referencia de dockerd, o ejecutando:

$ dockerd --help

Directorio de datos del demonio

El demonio de Docker guarda todos los datos de forma persistente en un único directorio. Este realiza el seguimiento de todo lo relacionado con Docker, incluyendo contenedores, imágenes, volúmenes, definiciones de servicio y secretos.

De forma predeterminada, el demonio almacena los datos en:

  • /var/lib/docker en Linux
  • C:\ProgramData\docker en Windows

Al utilizar el almacenamiento de imágenes de containerd (el predeterminado para Docker Engine 29.0 y versiones posteriores en instalaciones nuevas), el contenido de las imágenes y las instantáneas de los contenedores se almacenan en /var/lib/containerd. Otros datos del demonio (volúmenes, configuraciones) permanecen en /var/lib/docker.

Al utilizar controladores de almacenamiento clásicos como overlay2 (el predeterminado para instalaciones actualizadas), todos los datos se almacenan en /var/lib/docker.

Configurar la ubicación del directorio de datos

Puedes configurar el demonio de Docker para que utilice un directorio de almacenamiento diferente mediante la opción de configuración data-root.

{
  "data-root": "/mnt/docker-data"
}

La opción data-root no afecta a los datos de imágenes y contenedores almacenados en /var/lib/containerd cuando se utiliza el almacenamiento de imágenes de containerd. Para cambiar la ubicación de almacenamiento de los snapshotters de containerd, utiliza el archivo de configuración del sistema de containerd:

/etc/containerd/config.toml
version = 2
root = "/mnt/containerd-data"

Asegúrate de usar un directorio dedicado para cada demonio. Si dos demonios comparten el mismo directorio, por ejemplo un recurso compartido NFS, experimentarás errores difíciles de diagnosticar.

Próximos pasos

Muchas opciones de configuración específicas se analizan a lo largo de la documentación de Docker. Algunos lugares recomendados para continuar son: