Docker es una tecnología de virtualización de contenedores que ha ganado gran popularidad en los últimos tiempos; ofrece una forma más eficiente de implementar la aplicación. Con Docker, las aplicaciones residen dentro del contenedor sobre el sistema operativo Linux.
Docker utiliza funciones del Kernel, como cgroups y el espacio de nombres, para permitir que un contenedor independiente se ejecute en una sola instancia del sistema operativo.
En esta publicación, aprenderá a instalar Docker en CentOS 7/RHEL 7.
Instalar Docker
Elija cualquiera de los métodos para instalar Docker en CentOS 7.
- Instalar desde Docker (oficial)
- Instalar desde el repositorio base
Instalar desde Docker (Oficial)
Docker ahora está disponible en dos ediciones,
- Edición comunitaria (CE)
- Edición empresarial (EE)
Aquí instalaremos Docker Community Edition (CE).
Desinstale las versiones anteriores de Dockers, denominadas docker o docker-engine junto con las dependencias asociadas.
yum -y remove docker-common docker container-selinux docker-selinux docker-engine
No se preocupe por el contenido dentro de /var/lib/docker/, todo se conservará.
Luego, instale los paquetes necesarios.yum -y install lvm2 device-mapper device-mapper-persistent-data device-mapper-event device-mapper-libs device-mapper-event-libs
El paquete Docker Community ahora se llama docker-ce. Agreguemos el repositorio CE para la instalación de la ventana acoplable.
yum -y install wget wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
Instale la última versión de Docker CE usando el siguiente comando.
yum -y install docker-ceEn algún momento, es posible que desee instalar una versión particular de Docker, puede hacerlo agregando una versión como docker-ce-[version]
Ej:yum install docker-ce-19.03.0-3.el7
Usted puede enumerar las versiones de Docker disponibles con yum list docker-ce –showduplicates | ordenar -r
Instalar Docker desde el repositorio base
Docker está disponible en el repositorio estándar de CentOS, por lo que no tenemos que buscar el paquete.
Para RHEL 7, debe tener una suscripción Redhat válida para habilitar el repositorio de Extras rpm en el servidor. Instálalo usando el siguiente comando.
yum -y install docker
Ahora que tiene Docker instalado en su máquina, inicie el servicio de Docker en caso de que no se inicie automáticamente después de la instalación
systemctl start docker systemctl enable docker
Verificar la instalación de Docker
Una vez que se inicie el servicio, verifique su instalación ejecutando el siguiente comando.
docker run -it centos echo Hello-World
Veamos qué sucede cuando ejecutamos el comando docker run. Docker inicia un contenedor con la imagen base de centos ya que estamos ejecutando este contenedor de centos por primera vez, la salida se verá como a continuación.
Unable to find image 'centos:latest' locally latest: Pulling from library/centos 8ba884070f61: Pull complete Digest: sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c Status: Downloaded newer image for centos:latest Hello-World
Docker busca la imagen de centos localmente y no la encuentra, comienza a descargar la imagen de centos del registro de Docker. Una vez que se haya descargado la imagen, iniciará el contenedor y repetirá el comando Hello-World en la consola que puede ver al final de la salida.
Permitir acceso no root
Como puede ver en mi comando, para CentOS, tuve que ejecutar Docker como usuario root. Para evitar esto, puede seguir el procedimiento a continuación para permitir que los usuarios no root ejecuten contenedores Docker.
Cree un grupo llamado docker si no existe, ejecute los siguientes comandos con privilegios de root.
groupadd docker
Agregue un usuario que formará parte del grupo docker. Reemplace raj con su propio nombre de usuario.
useradd raj
Agregue un usuario al grupo de Docker.
usermod -aG docker raj
Ahora puede ejecutar un Docker con un usuario que no sea root.
CortafuegosD
FirwallD en CentOS 7 puede entrar en conflicto con Docker; se recomienda deshabilitar el servicio.
systemctl stop firewalld systemctl disable firewalld
Cuando se inicia o reinicia firewalld, eliminará la cadena DOCKER de iptables, lo que impide que Docker funcione correctamente.
Si aún desea usar systemd, debe iniciar firewalld antes del servicio Docker. En caso de que inicie o reinicie firewalld después de Docker, deberá reiniciar el demonio de Docker.
Temas de interés
Temas básicos de Docker
1:Principales comandos importantes de Docker:trabajar con contenedores de Docker
2:Trabajar con imágenes de Docker:crear imágenes de Docker
3:Cómo crear imágenes de Docker con DockerFile
Temas avanzados de Docker
1:Cómo configurar el registro privado de Docker en CentOS 7
2:Cómo instalar y configurar Docker Swarm en CentOS 7
Conclusión
Eso es todo. Comparta sus comentarios en la sección de comentarios.