GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y usar Docker en CentOS 7

Docker es una tecnología de creación de contenedores que le permite crear, probar e implementar rápidamente aplicaciones como contenedores portátiles y autosuficientes que pueden ejecutarse prácticamente en cualquier lugar.

En este tutorial, veremos cómo instalar Docker CE en CentOS 7 y exploraremos los conceptos y comandos básicos de Docker.

Requisitos previos #

Antes de continuar con este tutorial, asegúrese de que se cumplan los siguientes requisitos previos:

  • Servidor CentOS 7
  • Ha iniciado sesión como usuario no root con privilegios sudo. Consulte esta guía sobre cómo crear un nuevo usuario sudo.

Instalar Docker en CentOS #

Aunque el paquete Docker está disponible en el repositorio oficial de CentOS 7, es posible que no siempre sea la última versión. El enfoque recomendado es instalar Docker desde los repositorios de Docker.

Para instalar Docker en su servidor CentOS 7, siga los pasos a continuación:

  1. Comience por actualizar los paquetes de su sistema e instale las dependencias requeridas:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. A continuación, ejecute el siguiente comando que agregará el repositorio estable de Docker a su sistema:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Ahora que el repositorio de Docker está habilitado, instale la última versión de Docker CE (Community Edition) usando yum escribiendo:

    sudo yum install docker-ce
  4. Una vez que el paquete de Docker esté instalado, inicie el demonio de Docker y habilítelo para que se inicie automáticamente en el momento del arranque:

    sudo systemctl start dockersudo systemctl enable docker
  5. Para verificar que el servicio Docker se está ejecutando, escriba:

    sudo systemctl status docker

    La salida debería verse así:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. En el momento de escribir este artículo, la versión estable actual de Docker es 18.06.1 , para imprimir el tipo de versión de Docker:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

Ejecutando el comando Docker sin Sudo #

De forma predeterminada, la administración de Docker requiere privilegios de administrador. Si desea ejecutar los comandos de Docker como usuario no root sin anteponer sudo debe agregar su usuario al grupo docker que se crea durante la instalación del paquete Docker CE. Puede hacerlo escribiendo:

sudo usermod -aG docker $USER

$USER es una variable de entorno que contiene su nombre de usuario.

Cierre sesión y vuelva a iniciar sesión para que se actualice la membresía del grupo.

Para verificar que Docker se haya instalado correctamente y que pueda ejecutar los comandos de Docker sin sudo, emita el siguiente comando que descargará una imagen de prueba, la ejecutará en un contenedor, imprimirá un mensaje de "Hola desde Docker" y saldrá:

docker container run hello-world

La salida debería tener el siguiente aspecto:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

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

Interfaz de línea de comandos de Docker #

Ahora que tenemos una instalación de Docker en funcionamiento, repasemos la sintaxis básica de la CLI de Docker.

La línea de comando de la ventana acoplable toma la siguiente forma:

docker [option] [subcommand] [arguments]

Puede enumerar todos los comandos disponibles escribiendo docker sin parámetros:

docker

Si necesita más ayuda con cualquier [subcommand] , solo escribe:

docker [subcommand] --help

Imágenes de Docker #

Una imagen Docker se compone de una serie de capas que representan instrucciones en el archivo Docker de la imagen que conforman una aplicación de software ejecutable. Una imagen es un archivo binario inmutable que incluye la aplicación y todas las demás dependencias, como archivos binarios, bibliotecas e instrucciones necesarias para ejecutar la aplicación. En resumen, una imagen de Docker es esencialmente una instantánea de un contenedor de Docker.

Docker Hub es un servicio de registro basado en la nube que, entre otras funcionalidades, se utiliza para mantener las imágenes de Docker en un repositorio público o privado.

Para buscar una imagen en el repositorio de Docker Hub, simplemente use search subcomando Por ejemplo, para buscar la imagen de CentOS, ejecute:

docker search centos

La salida debería tener el siguiente aspecto:

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

Como puede ver, los resultados de búsqueda imprimen una tabla con cinco columnas, NAME , DESCRIPTION , STARS , OFFICIAL y AUTOMATED . La imagen oficial es una imagen que Docker desarrolla en conjunto con socios upstream.

Si queremos descargar la compilación oficial de CentOS 7, podemos hacerlo usando el image pull subcomando:

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

Dependiendo de su velocidad de Internet, la descarga puede tardar unos segundos o unos minutos. Una vez descargada la imagen podemos listar las imágenes con:

docker image ls

La salida debería ser similar a la siguiente:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

Si por alguna razón desea eliminar una imagen, puede hacerlo con image rm [image_name] subcomando:

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Contenedores Docker #

Una instancia de una imagen se llama contenedor. Un contenedor representa un tiempo de ejecución para una sola aplicación, proceso o servicio.

Puede que no sea la comparación más adecuada, pero si es programador, puede considerar una imagen de Docker como una clase y un contenedor de Docker como una instancia de una clase.

Podemos iniciar, detener, eliminar y administrar un contenedor con el docker container subcomando.

El siguiente comando iniciará un contenedor Docker basado en la imagen de CentoOS. Si no tiene la imagen localmente, la descargará primero:

docker container run centos

A primera vista, puede parecerle que no pasó nada en absoluto. Bueno, eso no es cierto. El contenedor de CentOS se detiene inmediatamente después de iniciarse porque no tiene un proceso de ejecución prolongado y no proporcionamos ningún comando, por lo que el contenedor se inició, ejecutó un comando vacío y luego salió.

El interruptor -it nos permite interactuar con el contenedor a través de la línea de comando. Para iniciar un tipo de contenedor interactivo:

docker container run -it centos /bin/bash

Como puede ver en la salida, una vez que se inicia el contenedor, el símbolo del sistema cambia, lo que significa que ahora está trabajando desde dentro del contenedor:

[root@719ef9304412 /]#

Para enumerar contenedores en ejecución:, escriba:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
Si no tiene ningún contenedor en ejecución, la salida estará vacía.

Para ver los contenedores en ejecución y detenidos, pásele el -a cambiar:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

Para eliminar uno o más contenedores, simplemente copie el ID (o ID) del contenedor desde arriba y péguelos después del container rm subcomando:

docker container rm c55680af670c

Cent OS
  1. Cómo instalar y usar TensorFlow en CentOS 7

  2. Cómo instalar Docker en CentOS 8

  3. Cómo instalar y usar Docker en Ubuntu 18.04

  4. Cómo instalar y usar Docker Compose en CentOS 7

  5. Cómo instalar y usar Docker Compose en CentOS

Cómo instalar y usar TermRecord en CentOS 8

Cómo instalar Docker en CentOS 7

Cómo instalar y usar Traceroute en CentOS 7

Cómo instalar Docker en CentOS 8

Cómo instalar y usar Docker en Ubuntu 20.04

Cómo instalar y usar Docker en CentOS 8