容器的无状态特性要求数据持久化通过Docker卷实现。在Anubiz Host VPS上管理Docker卷的最佳实践:
# 查看所有卷
docker volume ls
# 备份PostgreSQL数据卷
docker exec postgres pg_dump -U user mydb | gzip > backup_$(date +%Y%m%d).sql.gz
# 将备份文件同步到安全位置
rsync -avz backup_*.sql.gz user@backup-server:/backups/
配置自动每日备份的crontab:
0 2 * * * docker exec postgres pg_dump -U user mydb | gzip > /var/backups/db_$(date +%Y%m%d).sql.gz
Docker的只读卷挂载可提升安全性,将配置文件以只读方式挂载到容器:
volumes:
- ./config:/app/config:ro
- ./data:/app/data:rw
定期清理未使用的镜像、容器和卷以释放磁盘空间:
docker system prune -a --volumes