Búsqueda de sitios web

Instale Docker y aprenda la manipulación básica de contenedores en CentOS y RHEL 8/7 - Parte 1


En esta serie de 4 artículos, analizaremos Docker, que es una herramienta de virtualización liviana de código abierto que se ejecuta en la parte superior del nivel del sistema operativo, lo que permite a los usuarios crear, ejecutar e implementar aplicaciones, encapsuladas en pequeños contenedores.

Se ha demostrado que este tipo de contenedores de Linux son rápidos, portátiles y seguros. Los procesos que se ejecutan en un contenedor Docker siempre están aislados del host principal, evitando manipulaciones externas.

Este tutorial proporciona un punto de partida sobre cómo instalar Docker, crear y ejecutar contenedores Docker en CentOS/RHEL 8/7, pero apenas toca la superficie de Docker.

Paso 1: instalar y configurar Docker

1. Las versiones anteriores de Docker se llamaban docker o docker-engine; si las tiene instaladas, debe desinstálelos antes de instalar una versión más reciente de docker-ce.

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Para instalar la última versión de Docker Engine, debe configurar el repositorio de Docker e instalar el paquete yum-utils para habilitar Docker. repositorio estable en el sistema.

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Ahora instale la versión más reciente de docker-ce desde el repositorio de Docker y containerd manualmente, porque debido a algunos problemas, Red Hat bloqueó la instalación. de containerd.io > 1.2.0-3.el7, que es una dependencia de docker-ce.

yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli

4. Después de instalar el paquete Docker, inicie el demonio, verifique su estado y habilítelo en todo el sistema usando los siguientes comandos:

systemctl start docker 
systemctl status docker
systemctl enable docker

5. Finalmente, ejecute una imagen de prueba de contenedor para verificar si Docker funciona correctamente, emitiendo el siguiente comando:

docker run hello-world

Si puede ver el mensaje a continuación, entonces todo está en el lugar correcto.

Salida de muestra
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. Ahora, puede ejecutar algunos comandos básicos de Docker para obtener información sobre Docker:

Para obtener información sobre Docker para todo el sistema
docker info

Para la versión Docker
docker version

7. Para obtener una lista de todos los comandos de Docker disponibles, escriba docker en su consola.

docker

Paso 2: descargue una imagen de Docker

8. Para iniciar y ejecutar un contenedor Docker, primero se debe descargar una imagen de Docker Hub en su host. Docker Hub ofrece muchas imágenes gratuitas de sus repositorios.

Para buscar una imagen de Docker, Ubuntu, por ejemplo, emita el siguiente comando:

docker search ubuntu

9. Después de decidir qué imagen desea ejecutar según sus necesidades, descárguela localmente ejecutando el siguiente comando (en este caso se descarga y utiliza una imagen de Ubuntu). ):

docker pull ubuntu

10. Para enumerar todas las imágenes de Docker disponibles en su host, ejecute el siguiente comando:

docker images

11. Si ya no necesita una imagen de Docker y desea eliminarla del host, ejecute el siguiente comando:

docker rmi ubuntu

Paso 3: ejecutar un contenedor Docker

Cuando ejecutas un comando contra una imagen, básicamente obtienes un contenedor. Una vez que finaliza el comando que se está ejecutando en el contenedor, el contenedor se detiene (obtiene un contenedor que no se está ejecutando o que ha salido). Si vuelve a ejecutar otro comando en la misma imagen, se crea un nuevo contenedor y así sucesivamente.

Todos los contenedores creados permanecerán en el sistema de archivos del host hasta que elija eliminarlos utilizando el comando docker rm.

12. Para crear y ejecutar un contenedor, necesita ejecutar un comando en una imagen descargada, en este caso, Ubuntu, por lo que un comando básico sería mostrar el archivo de versión de distribución dentro del contenedor usando el comando cat, como en el siguiente ejemplo:

docker run ubuntu cat /etc/issue

El comando anterior se divide de la siguiente manera:

docker run [local image] [command to run into container]

13. Para ejecutar uno de los contenedores nuevamente con el comando que se ejecutó para crearlo, primero debe obtener el ID del contenedor (o el nombre generado automáticamente por Docker) emitiendo el siguiente comando, que muestra una lista de los contenedores en ejecución y detenidos (no en ejecución):

docker ps -l 

14. Una vez obtenido el ID del contenedor, puede iniciar el contenedor nuevamente con el comando que se utilizó para crearlo, emitiendo el siguiente comando:

docker start 923a720da57f

Aquí, la cadena 923a720da57f representa el ID del contenedor.

15. En caso de que el contenedor esté en ejecución, puede obtener su ID emitiendo el comando docker ps. Para detener el contenedor en ejecución, emita el comando docker stop especificando el ID del contenedor o el nombre generado automáticamente.

docker stop 923a720da57f
OR
docker stop cool_lalande
docker ps

16. Una alternativa más elegante para que no tenga que recordar el ID del contenedor sería asignar un nombre único para cada contenedor que cree usando el - -name opción en la línea de comando, como en el siguiente ejemplo:

docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Luego, usando el nombre que le asignaste al contenedor, puedes manipular el contenedor (iniciar, detener, eliminar, top, stats) simplemente mencionando su nombre, como en los siguientes ejemplos:

docker start ubuntu20.04
docker stats ubuntu20.04
docker top ubuntu20.04 

Tenga en cuenta que algunos de los comandos anteriores pueden no mostrar ningún resultado si finaliza el proceso del comando que se utilizó para crear el contenedor. Cuando finaliza el proceso que se ejecuta dentro del contenedor, el contenedor se detiene.

Paso 4: ejecutar una sesión interactiva en un contenedor

18. Para conectarse interactivamente a una sesión de shell de contenedor y ejecutar comandos como lo hace en cualquier otra sesión de Linux, emita el siguiente comando:

docker run -it ubuntu bash

El comando anterior se divide de la siguiente manera:

  1. -i se utiliza para iniciar una sesión interactiva.
  2. -t asigna un TTY y adjunta stdin y stdout.
  3. ubuntu es la imagen que usamos para crear el contenedor.
  4. bash (o /bin/bash) es el comando que estamos ejecutando dentro del contenedor de Ubuntu.

19. Para salir y regresar al host desde la sesión del contenedor en ejecución, debe escribir el comando exit. El comando exit finaliza todos los procesos del contenedor y los detiene.

exit

20. Si ha iniciado sesión de forma interactiva en el indicador de la terminal del contenedor y necesita mantener el contenedor en estado de ejecución pero salir de la sesión interactiva, puede salir< la consola y regrese a la terminal host presionando las teclas Ctrl+p y Ctrl+q.

21. Para volver a conectarse al contenedor en ejecución necesita el ID o el nombre del contenedor. Emita el comando docker ps para obtener el ID o el nombre y, luego, ejecute el comando docker adjunto especificando el contenedor ID o nombre, como se ilustra en la imagen de arriba:

docker attach <container id>

22. Para detener un contenedor en ejecución desde la sesión del host, emita el siguiente comando:

docker kill <container id>

Eso es todo por la manipulación básica de contenedores. En el próximo tutorial, analizaremos cómo guardar, eliminar y ejecutar un servidor web en un contenedor Docker.