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

Pasos posteriores a la instalación en Linux para Docker Engine

Estos procedimientos opcionales de postinstalación describen cómo configurar tu máquina host Linux para que funcione mejor con Docker.

Gestionar Docker como usuario sin privilegios de root

El demonio de Docker se vincula a un socket Unix, no a un puerto TCP. Por defecto, es el usuario root el propietario del socket Unix, y otros usuarios solo pueden acceder a él utilizando sudo. El demonio de Docker siempre se ejecuta como el usuario root.

Si no deseas anteponer el comando docker con sudo, crea un grupo de Unix llamado docker y añade usuarios a él. Cuando el demonio de Docker se inicia, crea un socket Unix accesible por los miembros del grupo docker. En algunas distribuciones de Linux, el sistema crea automáticamente este grupo al instalar Docker Engine utilizando un gestor de paquetes. En ese caso, no es necesario que crees el grupo manualmente.

Warning

El grupo docker otorga privilegios equivalentes a root al usuario. Para obtener detalles sobre cómo afecta esto a la seguridad de tu sistema, consulta Superficie de ataque del demonio de Docker.

Note

Para ejecutar Docker sin privilegios de root, consulta Ejecutar el demonio de Docker como usuario sin root (Modo Rootless).

Para crear el grupo docker y añadir a tu usuario:

  1. Crea el grupo docker.

    $ sudo groupadd docker
    
  2. Añade tu usuario al grupo docker.

    $ sudo usermod -aG docker $USER
    
  3. Cierra la sesión y vuelve a iniciarla para que se revalúe tu pertenencia al grupo.

    Si estás ejecutando Linux en una máquina virtual, puede ser necesario reiniciar la máquina virtual para que los cambios surtan efecto.

    También puedes ejecutar el siguiente comando para activar los cambios en los grupos:

    $ newgrp docker
    
  4. Verifica que puedes ejecutar comandos de docker sin sudo.

    $ docker run hello-world
    

    Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando el contenedor se ejecuta, imprime un mensaje y finaliza.

    Si inicialmente ejecutaste comandos de la CLI de Docker utilizando sudo antes de añadir a tu usuario al grupo docker, es posible que veas el siguiente error:

    WARNING: Error loading config file: /home/user/.docker/config.json -
    stat /home/user/.docker/config.json: permission denied

    Este error indica que los ajustes de permisos para el directorio ~/.docker/ son incorrectos, debido a haber utilizado el comando sudo anteriormente.

    Para solucionar este problema, puedes eliminar el directorio ~/.docker/ (se vuelve a crear automáticamente, pero se perderán los ajustes personalizados) o cambiar su propietario y permisos utilizando los siguientes comandos:

    $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
    $ sudo chmod g+rwx "$HOME/.docker" -R
    

Configurar Docker para que se inicie al arrancar con systemd

Muchas distribuciones modernas de Linux utilizan systemd para gestionar qué servicios se inician cuando el sistema arranca. En Debian y Ubuntu, el servicio de Docker está configurado para iniciarse al arrancar de forma predeterminada. Para iniciar automáticamente Docker y containerd al arrancar en otras distribuciones de Linux que usan systemd, ejecuta los siguientes comandos:

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

Para desactivar este comportamiento, utiliza disable en su lugar:

$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service

Puedes utilizar archivos de unidad de systemd para configurar el servicio de Docker en el arranque, por ejemplo para añadir un proxy HTTP, establecer un directorio o partición diferente para los archivos de ejecución de Docker, u otras personalizaciones. Para ver un ejemplo, consulta Configurar el demonio para usar un proxy.

Configurar el controlador de registros predeterminado

Docker proporciona controladores de registro para recopilar y ver los datos de registro de todos los contenedores que se ejecutan en un host. El controlador de registro predeterminado, json-file, escribe los datos de registro en archivos con formato JSON en el sistema de archivos del host. Con el tiempo, estos archivos de registro aumentan de tamaño, lo que puede agotar los recursos de disco.

Para evitar problemas de uso excesivo de disco para los datos de registro, considera una de las siguientes opciones:

Próximos pasos

  • Echa un vistazo al taller de Docker para aprender a crear una imagen y ejecutarla como una aplicación contenedorizada.