Docker es un conjunto de productos de plataforma como servicio que utilizan la virtualización a nivel del sistema operativo para entregar software en paquetes denominados contenedores. Los contenedores están aislados unos de otros y agrupan su propio software, bibliotecas y archivos de configuración; pueden comunicarse entre sí a través de canales bien definidos.
En esta guía vamos a explorar varias opciones para instalar docker en Rocky Linux/Centos 8
Compruebe también
- Cómo instalar y configurar docker en OpenSUSE Leap 15
- Cómo instalar y configurar docker en SUSE Linux Enterprise
- Cómo instalar y configurar docker en Fedora 34/35
- Cómo instalar y usar Docker en Ubuntu 20.04
- Cómo instalar y configurar Docker en Debian 11
- Introducción a Docker Compose con ejemplos
- Docker como agente de compilación:ejecute compilaciones de Jenkins en Docker
Requisitos
Para instalar Docker Engine, debe tener lo siguiente
- Servidor basado en Rocky Linux/Centos/RHEL 8 actualizado
- Conexión a Internet
- Conocimiento básico de terminal Linux
- Los
centos-extras
El repositorio debe estar habilitado. Debería estar habilitado de forma predeterminada
Tabla de contenido
- Actualizar paquetes del sistema
- Desinstalar versiones antiguas
- Instalando ventana acoplable
- Iniciar y habilitar Docker
- Desinstalar Docker
Actualización de paquetes del sistema
Antes de continuar, asegurémonos de que nuestro sistema esté actualizado. Use este comando para actualizar el sistema y todos los paquetes
$ sudo dnf -y update
Last metadata expiration check: 2:18:21 ago on Thu 14 Oct 2021 05:52:52 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
Desinstalar versiones antiguas
Si hay versiones anteriores de docker instaladas en el sistema, desinstálelas junto con las dependencias asociadas.
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Instalando ventana acoplable
Hay varias formas de instalar Docker en Centos 8. Puede:
- Configura repositorios acoplables. Esto se recomienda ya que incluso puede actualizar la ventana acoplable una vez configurada
- Descargue rpm e instálelo manualmente
- Puede elegir scripts de conveniencia automatizados para instalar Docker
Instalar usando el repositorio
Los paquetes docker no se encuentran en los repositorios predeterminados de Centos 8. Debe configurar el repositorio de Docker al instalar Docker en un sistema nuevo.
Instala yum-utils
paquete (que proporciona el yum-config-manager
utilidad) y configurar el estable repositorio.
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
Para instalar la última versión de Docker Engine y contenedor:
sudo dnf install docker-ce docker-ce-cli containerd.io -y
Este comando instala Docker, pero no inicia Docker. También crea un docker
grupo, sin embargo, no agrega ningún usuario al grupo de forma predeterminada.
Para instalar una versión específica de Docker Engine, enumere las versiones disponibles en el repositorio, luego seleccione e instale:
una. Enumere y ordene las versiones disponibles en su repositorio. Este ejemplo ordena los resultados por número de versión, de mayor a menor, y se trunca:
$ sudo dnf list docker-ce --showduplicates | sort -r
Installed Packages
docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.9-3.el8 @docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
Available Packages
El comando anterior enumerará los paquetes según los repositorios que estén habilitados.
Instale una versión específica por su nombre de paquete completo, que es el nombre del paquete (docker-ce
) más la cadena de versión (segunda columna) que comienza en los primeros dos puntos (:
), hasta el primer guión, separados por un guión (-
). Por ejemplo3:20.10.7
.
sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Instalar usando un paquete
Si por alguna razón no puede usar el repositorio de Docker para la instalación, puede descargar un paquete rpm e instalarlo manualmente.
Vaya a https://download.docker.com/linux/centos/ y elija su versión de CentOS. A continuación, vaya a x86_64/stable/Packages/
y descarga el .rpm
archivo para la versión de Docker que desea instalar
Instale Docker Engine, cambiando la ruta a continuación a la ruta donde descargó el paquete de Docker.
sudo yum install /path/to/package.rpm
Docker está instalado pero no iniciado. El docker
se crea el grupo, pero no se agregan usuarios al grupo.
Instalar usando el script de conveniencia
Docker proporciona una secuencia de comandos práctica en get.docker.com para instalar Docker en entornos de desarrollo de forma rápida y no interactiva. El script de conveniencia no se recomienda para entornos de producción, pero se puede usar como ejemplo para crear un script de aprovisionamiento que se adapte a sus necesidades.
El script requiere root
o sudo
privilegios para ejecutar. El script intenta detectar su distribución y versión de Linux y configurar su sistema de administración de paquetes por usted, y no le permite personalizar la mayoría de los parámetros de instalación. El script instala dependencias y recomendaciones sin pedir confirmación. De forma predeterminada, el script instala la última versión estable de Docker, containerd y runc.
Puede ejecutar el script con DRY_RUN=1
opción para saber qué pasos ejecutará el script durante la instalación:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh
Esto descarga el script de get.docker.com y lo ejecuta para instalar la última versión estable de Docker en Linux:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Iniciando y habilitando docker
En RPM
distribuciones basadas en, como CentOS, Fedora, RHEL o SLES, debe iniciarlo manualmente usando el comando systemctl o service apropiado. Los usuarios que no son root no pueden ejecutar los comandos de Docker de forma predeterminada.
Use este comando para iniciar la ventana acoplable
sudo systemctl start docker
Confirme que la ventana acoplable se está ejecutando emitiendo el comando de estado
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-10-15 03:58:33 UTC; 20s ago
Docs: https://docs.docker.com
Main PID: 1462739 (dockerd)
Tasks: 8
Memory: 127.2M
CGroup: /system.slice/docker.service
└─1462739 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.127140137Z" level=error m>
Oct 15 03:58:33 test-db-server dockerd[1462739]: time="2021-10-15T03:58:33.152784201Z" level=warning>
Para habilitar la ventana acoplable en el arranque, use este comando:
sudo systemctl enable docker
Docker no funcionará para usuarios no root o sin sudo, obtendrá el siguiente error si lo intenta.
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Para usar la ventana acoplable sin Sudo, agregue el usuario actual al grupo de la ventana acoplable y luego vuelva a iniciar sesión.
Agregue el usuario al grupo docker:
$ sudo usermod -aG docker ${USER}
Luego vuelva a iniciar sesión como usuario
$ sudo su - ${USER}
Luego verifica que ahora eres parte de docker
$ id
uid=1000(centos) gid=1000(centos) groups=1000(centos),4(adm),190(systemd-journal),985(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Ahora podemos confirmar que todo funciona emitiendo docker run
comando para hello-world
imagen:
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
Desinstalar Docker
Si ya no necesita docker en el sistema, use estos comandos para desinstalarlo
sudo dnf remove docker-ce docker-ce-cli containerd.io
- Las imágenes, los contenedores, los volúmenes o los archivos de configuración personalizados de su host no se eliminan automáticamente. Para eliminar todas las imágenes, contenedores y volúmenes:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Debe eliminar cualquier archivo de configuración editado manualmente.
Conclusión
Logramos instalar docker en un sistema centos usando el repositorio o descargando un rpm y luego instalándolo o usando un script de conveniencia.