Script para Alterar Diretorio Padrão de arquivos Docker.

🔧 Instruções para execução:

  1. Salve o conteúdo abaixo como setup_docker_root.sh
  2. Dê permissão de execução: chmod +x setup_docker_root.sh
  3. 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *