🔧 Instruções para execução:
- Salve o conteúdo abaixo como
setup_docker_root.sh
- Dê permissão de execução:
chmod +x setup_docker_root.sh
- Execute com privilégio root:
sudo ./setup_docker_root.sh
#!/bin/bash
# Script: setup_docker_root.sh
# Autor: Thiago Santana
# Descrição: Muda o diretório padrão do Docker para /dockerdata com backup seguro
DEST="/dockerdata"
LOG="/var/log/docker_root_change.log"
echo "=== [$(date)] Iniciando reconfiguração do Docker ===" | tee -a $LOG
# 1. Criar destino
sudo mkdir -p "$DEST"
sudo chown -R root:root "$DEST"
echo "[INFO] Diretório $DEST criado." | tee -a $LOG
# 2. Parar serviço
echo "[INFO] Parando Docker..." | tee -a $LOG
sudo systemctl stop docker
# 3. Backup e sincronização
if [ -d /var/lib/docker ]; then
echo "[INFO] Copiando dados existentes para $DEST ..." | tee -a $LOG
sudo rsync -aP /var/lib/docker/ "$DEST"/ | tee -a $LOG
fi
# 4. Aplicar configuração
sudo mkdir -p /etc/docker
echo "{ \"data-root\": \"$DEST\" }" | sudo tee /etc/docker/daemon.json > /dev/null
echo "[INFO] Configuração aplicada em /etc/docker/daemon.json" | tee -a $LOG
# 5. Reiniciar serviço
echo "[INFO] Reiniciando Docker..." | tee -a $LOG
sudo systemctl daemon-reexec
sudo systemctl restart docker
# 6. Validação
docker info | grep "Docker Root Dir" | tee -a $LOG
echo "=== [$(date)] Reconfiguração concluída ===" | tee -a $LOG