Solución de problemas
Problemas comunes y sus soluciones. En caso de duda, comience con rdc doctor para ejecutar una verificación de diagnóstico completa.
Falla la conexión SSH
- Verifique que puede conectarse manualmente:
ssh -i ~/.ssh/id_ed25519 deploy@203.0.113.50 - Ejecute
rdc context scan-keys server-1para actualizar las claves del host - Compruebe que el puerto SSH coincida:
--port 22 - Pruebe la conectividad:
rdc machine test-connection --ip 203.0.113.50 --user deploy
Discrepancia de clave del host
Si un servidor fue reinstalado o sus claves SSH cambiaron, verá “host key verification failed”:
rdc context scan-keys server-1
Este comando obtiene claves de host nuevas y actualiza su configuración.
Falla la configuración de la máquina
- Asegúrese de que el usuario SSH tenga acceso sudo sin contraseña, o configure
NOPASSWDpara los comandos requeridos - Verifique el espacio en disco disponible en el servidor
- Ejecute con
--debugpara una salida detallada:rdc context setup-machine server-1 --debug
Falla la creación de repositorio
- Verifique que la configuración se haya completado: el directorio del almacén de datos debe existir
- Compruebe el espacio en disco del servidor
- Asegúrese de que el binario de renet esté instalado (ejecute la configuración nuevamente si es necesario)
Los servicios no se inician
- Verifique la sintaxis del Rediaccfile: debe ser Bash válido
- Asegúrese de que los archivos
docker composeusennetwork_mode: host - Verifique que las imágenes Docker sean accesibles (considere
docker compose pullenprep()) - Revise los registros del contenedor usando el socket Docker del repositorio:
rdc term server-1 my-app -c "docker logs <container-name>"
O vea todos los contenedores:
rdc machine containers server-1
Errores de permiso denegado
- Las operaciones de repositorio requieren root en el servidor (renet se ejecuta mediante
sudo) - Verifique que su usuario SSH esté en el grupo
sudo - Compruebe que el directorio del almacén de datos tenga los permisos correctos
Problemas con el socket de Docker
Cada repositorio tiene su propio Docker daemon. Al ejecutar comandos Docker manualmente, debe especificar el socket correcto:
# Usando rdc term (configurado automáticamente):
rdc term server-1 my-app -c "docker ps"
# O manualmente con el socket:
docker -H unix:///var/run/rediacc/docker-2816.sock ps
Reemplace 2816 con el ID de red de su repositorio (se encuentra en config.json o rdc repo status).
Contenedores creados en el Docker daemon incorrecto
Si sus contenedores aparecen en el Docker daemon del sistema host en lugar del daemon aislado del repositorio, la causa más común es usar sudo docker dentro de un Rediaccfile.
sudo restablece las variables de entorno, por lo que DOCKER_HOST se pierde y Docker usa por defecto el socket del sistema (/var/run/docker.sock). Rediacc bloquea esto automáticamente, pero si lo encuentra:
- Use
dockerdirectamente — las funciones del Rediaccfile ya se ejecutan con privilegios suficientes - Si debe usar sudo, use
sudo -E dockerpara preservar las variables de entorno - Revise su Rediaccfile en busca de comandos
sudo dockery elimine elsudo
La terminal no funciona
Si rdc term no logra abrir una ventana de terminal:
- Use el modo en línea con
-cpara ejecutar comandos directamente:rdc term server-1 -c "ls -la" - Fuerce una terminal externa con
--externalsi el modo en línea tiene problemas - En Linux, asegúrese de tener instalado
gnome-terminal,xtermu otro emulador de terminal
Ejecutar diagnósticos
rdc doctor
Este comando verifica su entorno, la instalación de renet, la configuración del contexto y el estado de autenticación. Cada verificación reporta OK, Warning o Error con una breve explicación.