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.
WarningEl grupo
dockerotorga 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.
NotePara 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:
Crea el grupo
docker.$ sudo groupadd dockerAñade tu usuario al grupo
docker.$ sudo usermod -aG docker $USERCierra 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 dockerVerifica que puedes ejecutar comandos de
dockersinsudo.$ docker run hello-worldEste 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
sudoantes de añadir a tu usuario al grupodocker, es posible que veas el siguiente error:WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission deniedEste error indica que los ajustes de permisos para el directorio
~/.docker/son incorrectos, debido a haber utilizado el comandosudoanteriormente.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:
- Configura el controlador de registro
json-filepara activar la rotación de registros. - Utiliza un controlador de registro alternativo como el controlador "local" que realiza la rotación de registros de forma predeterminada.
- Utiliza un controlador de registro que envíe los registros a un agregador de registros remoto.
Próximos pasos
- Echa un vistazo al taller de Docker para aprender a crear una imagen y ejecutarla como una aplicación contenedorizada.