emq-TE1/install/docker.sh

81 lines
2.6 KiB
Bash

#!/bin/sh
if [[ $EUID -ne 0 ]]; then
whiptail --title "Docker Install" --msgbox "Debe ejecutar este script como usuario ROOT" 0 50
exit 0
fi
(crontab -l | grep -v "sync ; echo 3 > /proc/sys/vm/drop_caches >/dev/null 2>&1") | crontab -
#!/bin/bash
echo "Installing required packages..."
echo "Install Docker Community Edition..."
# Eliminar versiones antiguas de Docker si las hay, ignorando errores si no existen
apt-get -y remove docker docker-engine docker.io containerd runc --ignore-missing
# Actualizar el índice de paquetes
apt-get -y update
# Instalar paquetes necesarios para Docker (forzar sin intervención)
apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
# Descargar y agregar la clave GPG oficial de Docker, sobrescribiendo si es necesario
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/docker-archive-keyring.gpg
# Detectar la arquitectura del sistema
ARCH=$(dpkg --print-architecture)
echo "System architecture is $ARCH"
# Ajustar el nombre de la arquitectura según sea necesario
if [ "$ARCH" == "amd64" ]; then
ARCH="amd64"
elif [ "$ARCH" == "arm64" ]; then
ARCH="arm64"
elif [ "$ARCH" == "armhf" ]; then
ARCH="armhf"
else
echo "Architecture $ARCH not supported"
exit 1
fi
# Agregar el repositorio de Docker para la arquitectura correcta
echo "Adding Docker repository for $ARCH..."
echo "deb [arch=$ARCH signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Actualizar el índice de paquetes nuevamente
apt-get -y update
# Instalar Docker Community Edition, forzando la instalación sin preguntas
apt-get -y install docker-ce docker-ce-cli containerd.io
# Verificar la instalación de Docker
echo "Docker installed successfully!"
docker --version
echo "Install Docker Compose..."
# Instalar Docker Compose, forzando la instalación sin preguntas
apt-get -y install docker-compose
# Verificar la instalación de Docker Compose
docker-compose --version
# Configurar Docker con opciones personalizadas, sobrescribiendo si es necesario
echo "Set userland-proxy to false and configure log options..."
cat <<EOF | sudo tee /etc/docker/daemon.json > /dev/null
{
"userland-proxy": false,
"experimental": true,
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# Reiniciar el servicio Docker para aplicar cambios
echo "Restarting Docker service..."
sudo systemctl restart docker
echo "Docker setup completed successfully!"