Cómo instalar y usar Docker en Ubuntu 20.04


Docker es la plataforma de código abierto más popular para que los desarrolladores y administradores de sistemas creen, ejecuten y compartan aplicaciones con contenedores. La contenerización (el uso de contenedores para implementar aplicaciones) se está volviendo popular porque los contenedores son flexibles, livianos, portátiles, poco acoplados, escalables y más seguros.

Este artículo es un buen punto de partida para que los principiantes aprendan a instalar y usar Docker en un sistema Linux Ubuntu 20.04 con algunos comandos básicos. Para esta guía, instalaremos Docker Community Edition (CE).

  • Una instalación del servidor Ubuntu 20.04.
  • Un usuario con privilegios para ejecutar el comando sudo.

Instalación de Docker en Ubuntu 20.04

Para utilizar la última versión de Docker, la instalaremos desde el repositorio oficial de Docker. Entonces, comience agregando la clave GPG para el repositorio oficial de Docker a su sistema, luego agregue la configuración del repositorio a la fuente APT con los siguientes comandos.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Ahora actualice la caché de paquetes APT para incluir los nuevos paquetes de Docker en el sistema usando el siguiente comando.

$ sudo apt update

A continuación, instale el paquete Docker como se muestra.

$ sudo apt install docker-ce

Durante el proceso de instalación del paquete de Docker, el instalador del paquete activa systemd (administrador del sistema y de servicios) para que inicie y habilite automáticamente el servicio de Docker. Utilice los siguientes comandos para confirmar que el servicio de la ventana acoplable está activo y habilitado para iniciarse automáticamente al iniciar el sistema. Además, verifique su estado:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker

Hay varios otros comandos systemctl para administrar y controlar el servicio de la ventana acoplable que incluye lo siguiente:

$ sudo systemctl stop docker			#stop the docker service
$ sudo systemctl start docker			#start the docker service
$ sudo systemctl  restart docker		#restart the docker service

Para verificar la versión de Docker CE instalada en su sistema, ejecute el siguiente comando:

$ docker version

Puede ver los comandos de uso de la ventana acoplable disponibles ejecutando el comando de la ventana acoplable sin opciones ni argumentos:

 
$ docker

Administre Docker como un usuario no root con el comando sudo

De forma predeterminada, el demonio de Docker se une a un socket UNIX (en lugar de un puerto TCP) que es propiedad del usuario root. Por lo tanto, el demonio de Docker siempre se ejecuta como usuario root y para ejecutar el comando de Docker, debe usar sudo.

Además, durante la instalación del paquete Docker, se crea un grupo llamado docker . Cuando se inicia el demonio de Docker, crea un socket UNIX al que pueden acceder los miembros del grupo de Docker (que otorga privilegios equivalentes al usuario raíz).

Para ejecutar el comando de la ventana acoplable sin sudo, agregue todos los usuarios no root que se supone que deben acceder a la ventana acoplable, en el grupo de la ventana acoplable de la siguiente manera. En este ejemplo, el comando agrega el usuario ($USER) o el nombre de usuario que ha iniciado sesión actualmente al grupo de la ventana acoplable:

$ sudo usermod -aG docker $USER
OR
$ sudo usermod -aG docker username

Para activar los cambios a los grupos, ejecute el siguiente comando:

$ newgrp docker 
$ groups

A continuación, verifique que puede ejecutar comandos de Docker sin sudo. El siguiente comando descarga una imagen de prueba y la ejecuta en un contenedor. Una vez que el contenedor se está ejecutando, imprime un mensaje informativo y sale. Esta es también otra forma de verificar si su instalación está funcionando bien.

$ docker run hello-world

Trabajar con imágenes de Docker

Una imagen de Docker es un archivo de plantilla de solo lectura con instrucciones para crear un contenedor de Docker. Puede crear sus imágenes personalizadas o solo puede usar las creadas por otros y publicadas en Docker Hub, la biblioteca y comunidad más grande del mundo para imágenes de contenedores.

Puede buscar una imagen centos en Docker Hub con el siguiente comando:

$ docker search centos 

Para descargar una imagen localmente, use el comando de extracción. Este ejemplo muestra cómo descargar la imagen oficial de centos.

$ docker pull centos

Una vez que se completa la descarga, puede enumerar las imágenes disponibles en su sistema local.

$ docker images

Si ya no necesita una imagen, puede eliminarla de su sistema.

$ docker rmi centos
OR
$ docker rmi centos:latest    #where latest is the tag

Ejecución y gestión de contenedores de Docker

Un contenedor Docker es un proceso que se ejecuta de forma nativa en Linux y comparte el kernel de la máquina host con otros contenedores. Con respecto a una imagen de Docker, un contenedor es solo una imagen en ejecución.

Para iniciar un contenedor basado en su nueva imagen centos , ejecute el siguiente comando donde "centos" es el nombre de la imagen local y "cat/etc/centos-release" es el comando para ejecutar en el contenedor:

$ docker run centos cat /etc/centos-release

Un contenedor ejecuta un proceso discreto que está aislado en el sentido de que tiene el suyo propio: sistema de archivos, red y árbol de proceso aislado separado del host. Tenga en cuenta que puede manipular un contenedor utilizando el ID, el prefijo de ID o el nombre del contenedor, como se muestra a continuación. El proceso de contenedor anterior sale después de que se ejecuta el comando.

Para enumerar los contenedores de Docker, use el comando docker ps de la siguiente manera. Utilice la marca -l para mostrar el último contenedor creado en todos los estados:

$ docker ps
OR
$ docker ps -l

Para mostrar todos los contenedores, incluidos los que han salido, use la marca -a .

$ docker ps -a

También puede iniciar un contenedor usando su ID de contenedor después de que haya salido. Por ejemplo, en el comando anterior, nuestro ID de contenedor es 94c35e616b91. Podemos iniciar el contenedor como se muestra (tenga en cuenta que ejecutará el comando y saldrá):

$ docker start 94c35e616b91

Para detener un contenedor en ejecución usando su ID, use el comando stop como se muestra.

$ docker stop 94c35e616b91

Docker también le permite asignar un nombre a un contenedor usando la opción --name cuando lo ejecuta.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l

Ahora puede usar el nombre del contenedor para administrar (iniciar, detener, estadísticas, eliminar, etc.) el contenedor:

$ docker stop my_test
$ docker start my_test
$ docker stats my_test
$ docker rm my_test

Ejecución de una sesión interactiva en un contenedor Docker

Para iniciar una sesión de shell interactiva en un contenedor para permitirle ejecutar comandos dentro del contenedor, ejecute el siguiente comando:

$ docker run --name my_test -it centos

En el comando anterior, los conmutadores -it le dicen a Docker que asigne un pseudo-TTY conectado al stdin del contenedor, creando así un shell bash interactivo en el contenedor.

Puede salir emitiendo el comando exit como se muestra.

# exit

Si prefiere no salir, puede desprenderse de un contenedor y dejarlo funcionando. Para hacer eso, use la secuencia de teclas CTRL + p y luego CTRL + q .

Puede volver a conectarse al contenedor mediante el comando adjuntar, que adjuntará los flujos de entrada, salida y error estándar locales al contenedor en ejecución:

$ docker attach my_test

Además, puede iniciar un contenedor en modo separado usando el indicador -d . Luego, use el comando adjuntar para adjuntar los flujos de entrada, salida y error estándar de su terminal al contenedor en ejecución:

$ docker run --name my_test -d -it centos
$ docker attach my_test

Por último, pero no menos importante, puede detener un contenedor en ejecución desde la sesión de host ejecutando el siguiente comando:

$ docker kill my_test

¡Eso es todo! En esta guía, hemos cubierto cómo instalar y usar Docker CE en Ubuntu 20.04 Linux. Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para preguntarnos.