Cómo instalar y usar Docker en Ubuntu 20.04

Docker es una plataforma de código abierto muy popular para desarrolladores y administradores de sistemas para construir, ejecutar y compartir 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, débilmente acoplados, escalables y más seguros.

Este artículo es un buen punto de partida para principiantes que deseen aprender 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:

Instalación de Docker en Ubuntu 20.04

Para usar la última versión de Docker, la instalaremos desde el repositorio oficial de Docker. Por lo tanto, comience agregando la clave GPG del repositorio oficial de Docker a su sistema, después agregue la configuración del repositorio a la fuente de 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 de APT para incluir los nuevos paquetes de Docker en el sistema utilizando el siguiente comando.

$ sudo apt update

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

$ sudo apt install docker-ce
Install Docker on Ubuntu

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

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker
Check Docker Status

Hay varios otros comandos de systemctl para gestionar y controlar el servicio de 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
Check Docker Version

Puede ver los comandos de uso de Docker disponibles ejecutando el comando docker sin opciones ni argumentos:

 
$ docker
List of Docker Commands

Gestione Docker como un usuario no root con el comando sudo

Por defecto, el demonio de Docker se vincula 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 docker, es necesario utilizar sudo.

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

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

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

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

$ newgrp docker 
$ groups
Add User to Docker Group

A continuación, verifica si puedes ejecutar comandos docker sin utilizar sudo. El siguiente comando descarga una imagen de prueba y la ejecuta en un contenedor. Una vez que el contenedor esté en ejecución, imprime un mensaje informativo y sale. Esta también es otra forma de verificar si tu instalación está funcionando correctamente.

$ docker run hello-world
Verify Docker Installation

Trabajando con Imágenes de Docker

A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.

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

$ docker search centos 
Search Docker Images

Para descargar una imagen localmente, utiliza el comando pull. Este ejemplo muestra cómo descargar la imagen oficial de centos.

$ docker pull centos
Download CentOS Docker Image

Una vez que la descarga esté completa, puedes listar las imágenes disponibles en tu sistema local.

$ docker images
List Docker Images

Si ya no necesitas una imagen, puedes eliminarla de tu sistema.

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

Ejecutando y Gestionando Contenedores Docker

A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.

Para iniciar un contenedor basado en tu nueva imagen de centos, ejecuta el siguiente comando donde “centos” es el nombre local de la imagen y “cat /etc/centos-release” es el comando a ejecutar en el contenedor:

$ docker run centos cat /etc/centos-release
Run Commands in Docker Container

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.

Para listar los contenedores Docker, utiliza el comando docker ps de la siguiente manera. Utiliza la bandera -l para mostrar el contenedor más recientemente creado en todos los estados:

$ docker ps
OR
$ docker ps -l
List Docker Containers

Para mostrar todos los contenedores, incluidos aquellos que han salido, utiliza la bandera -a.

$ docker ps -a
Show All Docker Containers

También puedes iniciar un contenedor utilizando 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 (nota que ejecutará el comando y luego saldrá):

$ docker start 94c35e616b91
Start a Docker Container Using ID

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

$ docker stop 94c35e616b91

Docker también te permite asignar un nombre a un contenedor utilizando la opción --name al ejecutarlo.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l
Assign a Name to Docker Container

Ahora puedes usar el nombre del contenedor para gestionarlo (iniciar, detener, ver estadísticas, eliminar, etc.):

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

Ejecutando una Sesión Interactiva en un Contenedor de Docker

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

$ docker run --name my_test -it centos
Start Interactive Shell into a Container

En el comando anterior, los interruptores -it indican a Docker que asigne una pseudo-TTY conectada al stdin del contenedor, creando así un shell bash interactivo en el contenedor.

Puedes salir emitiendo el comando exit como se muestra.

# exit

Si prefieres no salir, puedes desconectarte de un contenedor y dejarlo en ejecución. Para hacerlo, utiliza la secuencia de teclas CTRL+p y luego CTRL+q.

Detach Docker from a Running Session

Puedes volver a conectarte al contenedor utilizando el comando attach, que adjuntará la entrada, salida y errores estándar locales al contenedor en ejecución:

$ docker attach my_test

Además, puedes iniciar un contenedor en modo desconectado utilizando la bandera -d. Luego, utiliza el comando attach para adjuntar la entrada, salida y errores estándar de tu terminal al contenedor en ejecución:

$ docker run --name my_test -d -it centos
$ docker attach my_test
Start Docker Container in Detached Mode

Por último, pero no menos importante, puedes 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 tienes alguna pregunta, utiliza el formulario de retroalimentación a continuación para preguntarnos.

Source:
https://www.tecmint.com/install-docker-on-ubuntu/