Created
October 28, 2024 19:48
-
-
Save leifermendez/0927100420e8606adefee6d70347a6e0 to your computer and use it in GitHub Desktop.
example.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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