Skip to content

Instantly share code, notes, and snippets.

@leifermendez
Created October 28, 2024 19:48
Show Gist options
  • Save leifermendez/0927100420e8606adefee6d70347a6e0 to your computer and use it in GitHub Desktop.
Save leifermendez/0927100420e8606adefee6d70347a6e0 to your computer and use it in GitHub Desktop.
example.sh
#!/bin/bash
# Verificar si se ejecuta como root
if [ "$(id -u)" != "0" ]; then
echo "Este script debe ejecutarse como root (sudo)"
exit 1
fi
echo "Iniciando configuración del daemon de Docker..."
# Crear directorio de Docker si no existe
echo "Creando directorios necesarios..."
mkdir -p /etc/docker
mkdir -p /etc/systemd/system/docker.service.d/
# Crear configuración del daemon
echo "Configurando daemon.json..."
cat > /etc/docker/daemon.json <<EOF
{
"hosts": [
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2375"
],
"tls": false,
"log-level": "info",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# Crear override del servicio
echo "Configurando override del servicio..."
cat > /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
EOF
# Ajustar permisos
echo "Ajustando permisos..."
chmod 644 /etc/docker/daemon.json
chmod 644 /etc/systemd/system/docker.service.d/override.conf
# Obtener usuario actual
CURRENT_USER=$SUDO_USER
if [ -z "$CURRENT_USER" ]; then
CURRENT_USER=$(whoami)
fi
# Añadir usuario al grupo docker
echo "Añadiendo usuario $CURRENT_USER al grupo docker..."
usermod -aG docker $CURRENT_USER
# Reiniciar servicios
echo "Reiniciando servicios..."
systemctl daemon-reload
systemctl restart docker
# Esperar a que Docker se inicie
echo "Esperando a que Docker se inicie..."
sleep 5
# Verificar estado
echo "Verificando estado de Docker..."
if systemctl is-active --quiet docker; then
echo "✓ Docker está ejecutándose correctamente"
else
echo "✗ Docker no está ejecutándose"
exit 1
fi
# Verificar conexión
echo "Verificando conexión..."
if curl -s localhost:2375/version > /dev/null; then
echo "✓ Conexión TCP establecida correctamente"
else
echo "! No se pudo establecer conexión TCP"
fi
# Ajustar permisos del socket
echo "Ajustando permisos del socket..."
chmod 666 /var/run/docker.sock
echo -e "\nConfiguración completada!"
echo -e "\nInformación importante:"
echo "- Socket Unix: unix:///var/run/docker.sock"
echo "- Socket TCP: tcp://localhost:2375"
echo -e "\nPara verificar la configuración:"
echo "- curl http://localhost:2375/version"
echo "- docker -H tcp://localhost:2375 info"
echo -e "\nNota: Es necesario cerrar sesión y volver a iniciar para que los cambios en grupos surtan efecto"
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment