HT-002 - Docker Recovery Drive Migration
ATLANTIS ITS
How-To Guide #002
Docker Recovery After Drive Migration
Field Detail
Document ID HT-002
Version 1.0
Date March 10, 2026
Author Ozzy (Claude --- Atlantis AI)
Reviewed By Shane Hardin
Applies To Atlantis ITS Infrastructure
Difficulty Intermediate
Est. Time 15--20 minutes
Related Docs HT-001 --- Cloudflare Connector Rebuild
1. Overview
This guide covers how to recover Docker Desktop and restore all Atlantis containers after a Windows drive migration (e.g. moving from C: to E: drive).
Drive migrations can cause Docker Desktop to hang on startup, lose containers, or fail to connect to the Cloudflare Tunnel. This guide walks through the full recovery process step by step.
⚠️ NOTE: Docker on Windows stores container data in a WSL2 virtual disk file (docker_data.vhdx) --- NOT in a folder you can browse. This means your data survives drive migrations as long as WSL2 remains intact.
2. What Happens During a Drive Migration
When you move your working directory from one drive to another, Docker Desktop may:
-
Hang on startup showing \'Starting the Docker Engine...\'
-
Show zero containers even though they existed before
-
Lose the Cloudflare Tunnel (cloudflared) container
-
Fail to find n8n data if the volume path changed
The good news: your actual workflow data in n8n is stored in two places:
Data Location What It Contains Survives Migration?
E:\Data\AtlantisITS\n8n n8n config, workflows, Yes --- if you credentials migrated this folder
C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx Docker internal WSL2 Yes --- stays on virtual disk (\~7GB) C: drive always
3. When to Use This Guide
-
Docker Desktop hangs on \'Starting the Docker Engine...\'
-
docker ps shows no containers after a reboot
-
n8n.atlantisits.co returns a 530 error
-
You just completed a drive migration
-
Docker was uninstalled and reinstalled
4. Prerequisites
Requirement Details
Docker Desktop Installed --- even if it is currently broken
PowerShell Available (no admin needed)
n8n data folder E:\Data\AtlantisITS\n8n exists on E: drive
Cloudflare access dash.cloudflare.com login ready (see HT-001)
5. Step-by-Step Recovery
Step 1 --- Show Hidden Folders in Windows
You may need to access AppData folders which are hidden by default.
-
Open File Explorer
-
Click View in the top menu
-
Click Show > Hidden Items --- check this box
⚠️ NOTE: Do NOT click the Properties checkbox for Hidden on any folder --- that hides the folder, which is the opposite of what you want.
Step 2 --- Kill Docker Completely
If Docker is hanging, force quit it before doing anything else.
-
Right-click the Docker whale icon in the Windows taskbar
-
Click Quit Docker Desktop
-
If it does not quit, open Task Manager (Ctrl+Shift+Esc)
-
Go to the Details tab
-
End all processes named com.docker.* and Docker Desktop.exe
💡 TIP: Wait 10 seconds after killing Docker before restarting it.
Step 3 --- Shut Down WSL2
Open PowerShell and run:
wsl --shutdown
This cleanly resets the WSL2 virtual machine that Docker depends on. Then relaunch Docker Desktop and wait for it to fully start.
Step 4 --- Verify Docker Settings
Once Docker is running, check the settings file to confirm it is not pointing to the old drive:
-
Open File Explorer and navigate to: C:\Users\shane\AppData\Roaming\Docker\
-
Open settings-store.json in Notepad
-
Verify there is no diskPath pointing to C: --- if Docker uses WSL2 storage (default), this file will NOT contain a diskPath entry and that is correct
💡 TIP: The absence of diskPath means Docker is using the WSL2 virtual disk at C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx --- this is normal and expected.
Step 5 --- Restart n8n Container
Your n8n container needs to be recreated pointing to your E: drive data folder. Run this in PowerShell:
docker run -d --name n8n --restart unless-stopped -p 5678:5678 -v E:\Data\AtlantisITS\n8n:/home/node/.n8n n8nio/n8n
Then verify it is running:
docker ps
You should see n8n listed with status Up and port 0.0.0.0:5678->5678/tcp.
⚠️ NOTE: If you get a conflict error saying the name n8n is already in use, run: docker rm n8n --- then retry the run command above.
Step 6 --- Verify n8n Workflows
Open your browser and go to: http://localhost:5678
Log in to n8n and confirm your workflows are visible. You should see the Roofing Lead Engine and any other workflows you had before the migration.
💡 TIP: If workflows are missing, your n8n data folder on E: may not have been migrated correctly. Check that E:\Data\AtlantisITS\n8n contains a database.sqlite file.
Step 7 --- Rebuild Cloudflare Connector
The Cloudflare Tunnel (cloudflared container) will need to be rebuilt after Docker is reset. Follow HT-001 --- Cloudflare Connector Rebuild for full instructions.
Quick version --- check if cloudflared is running:
docker ps
If cloudflared is NOT listed, go to HT-001 Step 4 to get a fresh token, then run:
docker run -d --name cloudflared --restart unless-stopped cloudflare/cloudflared:latest tunnel --no-autoupdate run --token YOUR_TOKEN
Confirm the tunnel is HEALTHY in Cloudflare Zero Trust > Networks > Connectors.
Step 8 --- Fix VS Code Git Workspace Issues
After a drive migration, VS Code may show duplicate workspace folders or Git safe directory warnings. Fix these as follows:
Fix Git safe directory warning (run in PowerShell):
git config --global --add safe.directory D:/Data/AtlantisITS/AI
Fix duplicate workspace folders in VS Code:
-
Click File > Close Folder
-
Click File > Open Folder
-
Navigate to D:\Data\AtlantisITS\AI and open just that one folder
⚠️ NOTE: If a nested subfolder appears in GitHub (e.g. atlantis-ai inside atlantis-ai repo), remove it with: git rm -r --cached atlantis-ai then commit and push.
6. Troubleshooting
Symptom Likely Cause Fix
Docker hangs on WSL2 not cleanly shut Kill Docker in Task Manager, run wsl startup down --shutdown, relaunch
Zero containers after Containers not set to Recreate containers with --restart reboot restart unless-stopped unless-stopped flag
n8n workflows missing Volume path incorrect Check or data not migrated E:\Data\AtlantisITS\n8n\database.sqlite exists
docker rm error: Container still active Run docker stop n8n first, then docker rm n8n container running
530 error on Cloudflare Tunnel down Follow HT-001 to rebuild the Connector n8n.atlantisits.co
502 error on Cloudflare DNS proxy Set ai CNAME to DNS Only (grey cloud) in ai.atlantisits.co enabled Cloudflare DNS
Git safe directory Drive ownership Run git config --global --add error in VS Code mismatch on SDXC/USB safe.directory \<path>
7. Quick Reference --- Recovery Commands
Command Purpose
wsl --shutdown Shut down WSL2 cleanly
docker ps List all running containers
docker ps -a List all containers including stopped ones
docker rm n8n Remove the n8n container (data is safe on E: drive)
docker rm cloudflared Remove the cloudflared container
docker logs n8n View n8n container logs
docker logs View cloudflared logs --- check for auth errors cloudflared
docker start n8n Start an existing stopped container
8. Key File Paths & Infrastructure Info
Item Path / Value
n8n Data Folder E:\Data\AtlantisITS\n8n
Docker WSL2 Virtual C:\Users\shane\AppData\Local\Docker\wsl\disk\docker_data.vhdx Disk
Docker Settings File C:\Users\shane\AppData\Roaming\Docker\settings-store.json
Atlantis Working Path E:\Data\AtlantisITS (primary) | D:\Data\AtlantisITS (secondary)
Command Center D:\Data\AtlantisITS\ops\atlantis-command-center Location
n8n Local URL http://localhost:5678
n8n Public URL https://n8n.atlantisits.co
n8n Port 5678
Roofing Lead Engine https://ai.atlantisits.co URL
9. Prevention --- Before Your Next Drive Migration
Follow these steps BEFORE migrating drives to avoid a full recovery:
-
Export all n8n workflows to JSON files and back up to GitHub
-
Note all Docker container names and run commands
-
Save Cloudflare tunnel token securely before migration
-
Run docker ps -a and screenshot all containers
-
Back up E:\Data\AtlantisITS\n8n folder to a second location
💡 TIP: The Atlantis OS Launcher (built by Cooper) makes it easy to restart all containers with one click after a reboot --- keep it running at startup.
Document prepared by Ozzy (Claude --- Atlantis AI Automations)
atlantisits.info | HT-002 | v1.0 | March 2026