Para los contenedores Docker, Alpine Linux es una opción óptima debido a su bajo consumo de RAM y optimización. Sin embargo, todavía Ubuntu es el mejor.
Alpine Linux es un sistema operativo Linux gratuito y de código abierto para enrutadores, cortafuegos, VPN, computadoras VoIP, servidores, máquinas virtuales y contenedores. Tiene funciones de seguridad proactivas que evitan que se exploten los agujeros de seguridad en el software. La distribución de Linux pequeña y liviana basada en musl libc y busybox.
Pasos para instalar Docker en Alpine Linux
No voy a hablar mucho sobre Docker aquí porque si está leyendo este tutorial, ya sabrá de qué se trata. Bueno, en resumen, Docker es una plataforma de virtualización en contenedores que permite ejecutar diferentes máquinas virtuales en forma de contenedores aislados. Lo mejor de todo, ligero y fácil de manejar; uno puede simplemente extraer imágenes de Linux o aplicaciones existentes para configurar un contenedor desde hub.docker.com.
Paso 1: Descargue y configure Alpine Linux
Si ya tiene un Alpine Linux en funcionamiento, simplemente vaya al siguiente paso y, si no, vaya a este enlace y descarga uno . Alpine Linux está disponible en varias formas, como estándar, ampliado con algunos paquetes adicionales, instalación en red, imagen ISO virtual optimizada, para Xen con soporte integrado para Xen Hypervisor y en sistema de archivos raíz mínimo para contenedores. Puede descargar uno según su elección, sin embargo, aquí estamos usando Alpine Linux Extended versión 3.11.
Después de descargar, inicie su PC o VirtualBox con él y ejecute el comando setup-alpine
para seguir los pasos de instalación.
Paso 2: Comando para instalar Docker en Alpine
Ejecute el siguiente comando único para obtener paquetes de Docker para su instalación en Alpine.
apk add docker
Paso 3: la adición de Apk falla con un error de restricciones insatisfactorias
En caso de que después de ejecutar el comando anterior obtenga un error "apk add falla con restricciones insatisfactorias” entonces tenemos que agregar el siguiente repositorio a Alpine.
Edite el archivo del repositorio de Alpine:
vi /etc/apk/repositories
Entonces presioneInsertaren el teclado y agregue la siguiente línea en el archivo.
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community
Para guardar y salir primero presioneEscy luego escriba :wq
después de eso presione el Enter botón.
Una vez que haya terminado, ejecute el comando de actualización del paquete para informar al sistema sobre el repositorio actualizado, de modo que pueda indexarlo.
apk update
Paso 4: agregue el servicio Docker al nivel de inicio del sistema
Para asegurarnos de que el servicio de Docker se inicie automáticamente cada vez que se inicie Alpine, debemos agregarlo a los servicios de nuestro sistema.
rc-update add docker boot
Ahora, podemos iniciar el servicio Docker.
service docker start
Paso 5: Instalar Docker Compose
Los usuarios que también quieren Docker Compose en Alpine, primero tienen que instalar pip.
apk add py-pip
Pocas dependencias de desarrollo
apk add python-dev libffi-dev openssl-dev gcc libc-dev make
Finalmente, ejecute el comando para instalar docker-compose
pip install docker-compose
Paso 6: aislar contenedores con un espacio de nombres de usuario
adduser -SDHs /sbin/nologin dockremap addgroup -S dockremap echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 >> /etc/subuid echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 >> /etc/subgid
Paso 7: ahora, verifique su instalación de Docker
Use el siguiente comando para verificar la información de la versión de Docker instalada.
docker info
Paso 8 Extraiga la imagen de Docker en Alpine
Para saber que todo funciona bien, abramos una imagen de hola mundo
docker pull hello-world
Para ejecutar la imagen:
docker run -t hello-world
Adicional: errores que encontramos al configurarlo
1: respuesta de error del daemon https //registry-1.docker.io/v2/ time out
Obtuvimos el error anterior porque en el resolv.conf de Alpine los servidores de nombres no estaban configurados correctamente, por lo que lo editamos:
vi /etc/resolv.conf
Y agregó los siguientes servidores de nombres:
nameserver 8.8.8.8 nameserver 8.8.4.4
2.Después de instalar Alpine, no se pudo acceder a la red, por lo que editamos:
vi /etc/network/interfaces
Y agregó lo siguiente:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
De esta forma, podemos usar este ligero Alpine Linux para Docker ejecutando máquinas virtuales en contenedores.