- Preparación del repositorio de paquetes
Identificar la versión del sistema operativo
Antes de comenzar, es necesario conocer la versión exacta de la distribución instalada:
cat /etc/os-release
Eliminar software conflictivo previo
En Anolis Linux, Podman viene instalado de manera predeterminada como herramienta de gestión de contenedores. Dado que Podman y Docker pueden entrar en conflicto, se recomienda desinstalar Podman y cualquier versión anterior de Docker antes de proceder:
dnf erase -y docker docker-client docker-client-latest docker-common \
docker-latest docker-latest-logrotate docker-logrotate \
docker-engine docker-selinux podman podman-remote podman-plugins
Configurar el repositorio oficial de Docker
Primero se instalan las dependencias necesarias y luego se agrega el repositorio de Docker CE apuntando a los espejos de Alibaba Cloud para mayor velocidad de descarga en la región:
dnf install -y dnf-plugins-core device-mapper-persistent-data lvm2
dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
dnf makecache
- Instalación del motor Docker
Consultar versiones disponibles
Para listar todas las versiones de Docker CE disponibles en el repositorio configurado:
dnf list docker-ce --showduplicates
Para filtrar una versión específica:
dnf list docker-ce --showduplicates | grep 27.0.3
Instalar los paquetes de Docker
Se procede a instalar tanto el demonio como la interfaz de línea de comandos. El indicador --allowerasing permite resolver conflictos con paquetes existentes. Si se presentan errores de certificados SSL, puede añadirse --setopt=sslverify=false como alternativa temporral:
dnf -y install docker-ce-27.0.3-1.el8 docker-ce-cli-27.0.3-1.el8 --allowerasing
Gestión del servicio Docker
Una vez instalado, se controla el servicio mediante systemctl:
# Iniciar el servicio
systemctl start docker
# Detener el servicio
systemctl stop docker
# Reiniciar el servicio
systemctl restart docker
# Habilitar inicio automático en el arranque del sistema
systemctl enable docker
# Deshabilitar inicio automático
systemctl disable docker
- Rutas importantes del sistema de archivos
| Descripción | Ruta |
|---|---|
| Directorio de datos (imágenes, contenedores, volúmenes) | /var/lib/docker |
| Ejecutables del motor | /usr/bin/docker y /usr/bin/dockerd |
| Archivo de configuración del demonio | /etc/docker/daemon.json |
- Archivo de configuración del demonio
El archivo /etc/docker/daemon.json permite personalizar el comportamiento del motor Docker. A continuación un ejemplo con configuración de registro de logs, red personalizada y una lista extensa de espejos de aceleración para descarga de imágenes:
{
"live-restore": true,
"log-driver": "json-file",
"log-opts": {
"max-size": "200m",
"max-file": "5"
},
"bip": "172.17.0.1/16",
"default-address-pools": [
{
"base": "172.18.0.0/16",
"size": 24
}
],
"registry-mirrors": [
"https://docker-0.unsee.tech",
"https://docker.1ms.run",
"https://docker.xuanyuan.me",
"https://0vrv861z.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
Después de modificar el archivo de configuración, es necesario recargar el demonio para aplicar los cambios:
systemctl daemon-reload
systemctl restart docker