devdocker — escenarios

¿Qué instalar y cómo no perder datos?

devdocker no migra automáticamente contenedores ni volúmenes de Docker Desktop. Esta página ordena las rutas según lo que ya tengas en el PC.

--fresh no es la instalación normal. Solo borra el stack devdocker (Jenkins, postgres_data, mysql_data, etc.). No toca imágenes ni proyectos que no sean de devdocker, pero sí destruye las bases del entorno develop si ya las tenías.

Qué va siempre vs opcional

Siempre en setup --deployOpcional (secret)
PostgreSQL, MySQL, MariaDB · Portainer · Proxy · Panel · Jenkins SonarQube (INFRA_DEPLOY_SONARQUBE) · n8n (INFRA_DEPLOY_N8N) · cAdvisor (INFRA_DEPLOY_CADVISOR) · Oracle (ORACLE_DB_ENABLED)
Apps (ControlParking, etc.) Después, con deploy control-parking — ver Apps

Escenario A — Ya usas Docker Desktop (recomendado si tienes datos ahí)

Mantén Desktop. En Ubuntu (WSL) activa Settings → Resources → WSL integration para tu distro.

No marques “Instalar Docker Engine” ni --docker-engine en el wizard.

No uses --fresh si ya desplegaste devdocker y quieres conservar volúmenes.

cd ~/devdocker
bash scripts/devdocker.sh update
bash scripts/devdocker.sh sync
bash scripts/devdocker.sh setup --deploy

Tus contenedores/volúmenes de otros proyectos en Desktop siguen en Desktop. devdocker crea sus volúmenes con nombres propios (jenkins_home, postgres_data, …).

Escenario B — Docker Engine en WSL (sin Desktop)

Para máquina nueva o cuando no necesitas migrar nada de Desktop:

curl -fsSL https://devdocker.desarrollado.com/devdocker-install.sh | bash -s -- --docker-engine --deploy --verify

Primera vez con reset total (opcional): añade --fresh.

Escenario C — Solo actualizar devdocker / un job

cd ~/devdocker
bash scripts/devdocker.sh update
bash scripts/devdocker.sh sync
bash scripts/devdocker.sh secret
bash scripts/devdocker.sh register
bash scripts/devdocker.sh deploy db-mysql   # ejemplo

Escenario D — App ControlParking sin reinstalar todo

Requisito mínimo: Jenkins + proxy + Docker funcionando. No hace falta --fresh.

Guía ControlParking

Migrar datos desde Docker Desktop

devdocker no importa el disco interno de Desktop. Opciones manuales:

Qué quieres conservarCómo
Imágenes En Desktop: docker save → copiar tar a WSL → docker load en el daemon que use devdocker
Datos de un volumen Contenedor temporal: montar volumen y tar czf del directorio; restaurar en volumen devdocker con otro contenedor
Stack compose propio Exportar docker compose + .env; levantar en el mismo daemon (Desktop integrado o Engine)
Bases devdocker ya desplegadas No ejecutar --fresh; backup con pg_dump / dump MySQL antes de cambios grandes

No mezcles Docker Desktop y Docker Engine apuntando al mismo WSL Ubuntu: elige uno. Ver install-docker-engine-wsl.md en el repo (coexistencia).

Coherencia wizard ↔ deploy

Los checkboxes Servicios del wizard (SonarQube, n8n, cAdvisor) se reflejan en el secret como INFRA_DEPLOY_* al instalar con variables de entorno, o edítalos en dev-enviroment.local.yaml.

INFRA_DEPLOY_SONARQUBE: "true"
INFRA_DEPLOY_CADVISOR: "false"
INFRA_DEPLOY_N8N: "false"