Búsqueda de sitios web

Cómo instalar y usar Docker en Ubuntu 20.04


Docker es la plataforma de código abierto más popular para que desarrolladores y administradores de sistemas creen, ejecuten y compartan aplicaciones con contenedores. La contenedorizació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 cómo 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).

Requisitos previos:

  • 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 Docker a su sistema, luego agregue la configuración del repositorio a la fuente APT con la 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é del paquete 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 Docker, el instalador del paquete activa el systemd (administrador de sistemas y servicios) para iniciar y habilitar automáticamente el servicio Docker. Utilice los siguientes comandos para confirmar que el servicio Docker esté activo y habilitado para iniciarse automáticamente al iniciar el sistema. Además, consulta 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 Docker, que incluyen 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 Docker disponibles ejecutando el comando Docker sin opciones ni argumentos:

 
docker

Administre Docker como usuario no root con el comando sudo

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

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

Para ejecutar el comando docker sin sudo, agregue todos los usuarios no root que deben acceder a Docker en el grupo docker de la siguiente manera. En este ejemplo, el comando agrega el usuario actualmente conectado ($USER) o nombre de usuario al grupo de Docker:

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 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 Docker es un archivo de plantilla de solo lectura con instrucciones para crear un contenedor Docker. Puede crear sus imágenes personalizadas o solo puede usar aquellas creadas por otros y publicadas en Docker Hub, la biblioteca y comunidad de imágenes de contenedores más grande del mundo.

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

docker search centos 

Para descargar una imagen localmente, utilice el comando pull. 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 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. En cuanto 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 a ejecutar en el contenedor:

docker run centos cat /etc/centos-release

Un contenedor ejecuta un proceso discreto que está aislado porque tiene su propio sistema de archivos, red y árbol de procesos aislados separados 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 contenedor anterior sale después de que se ejecuta el comando.

Para enumerar los contenedores de Docker, utilice el comando docker ps de la siguiente manera. Utilice la bandera -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, utilice el indicador -a.

docker ps -a

También puede iniciar un contenedor utilizando su ID de contenedor una vez 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 de detención 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

Ejecutar 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 modificadores -it le indican a Docker que asigne un pseudo-TTY conectado a la entrada estándar del contenedor, creando así un shell bash interactivo en el contenedor.

Puede salir emitiendo el comando de salida como se muestra.

exit

Si prefieres no salir, puedes separarte 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 usando el comando attach que adjuntará 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 attach 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 del 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.