docker / volumes-backup-extension

Back up, clone, restore, and share Docker volumes effortlessly.
Apache License 2.0
87 stars 19 forks source link

Getting `Internal server error` when trying to export to Windows network volume #108

Open Bassadin opened 1 year ago

Bassadin commented 1 year ago

Describe the bug When trying to export a volume to a Windows network volume, I get an Error message

Add the steps to reproduce Steps to reproduce the behavior:

  1. Go to extension view
  2. Click Export volume
  3. Set a windows mounted volume as the target

Describe the expected behavior Got the error: Failed to backup volume ttn-locator-backend_postgres-data to \\Orzhova\home\Drive\Backups\Master-Thesis-INM\ttn-locator-db: {"message":"Internal Server Error"}. HTTP status code: 500

Optional: Add screenshots image

Output of docker extension version:

Client Version: v0.2.19
Server API Version: 0.3.4

Output of docker version:

Client:
 Cloud integration: v1.0.31
 Version:           23.0.5
 API version:       1.42
 Go version:        go1.19.8
 Git commit:        bc4487a
 Built:             Wed Apr 26 16:20:14 2023
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.19.0 (106363)
 Engine:
  Version:          23.0.5
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.8
  Git commit:       94d3ad6
  Built:            Wed Apr 26 16:17:45 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.20
  GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38
 runc:
  Version:          1.1.5
  GitCommit:        v1.1.5-0-gf19387a
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Include extension console logs No log gets output in the chrome debugger view, sadly

Additional context Add any other context about the problem here.

nataliachodelski commented 9 months ago

@Bassadin, I'm also experiencing an Internal server error when trying to use this extension, although i'm using Mac so I don't know if we're experiencing the same issue.

I wanted to share a command I found to show the logs for this extension - I thought perhaps this might help you get more details about your issue that you can add to your issue report here.

to show the extension logs, run docker logs docker_volumes-backup-extension-desktop-extension-service in your shell.

Bassadin commented 8 months ago

I got this, if it helps:

time="2023-12-27T19:01:06Z" level=info msg="volumeName: ttn-locator-backend_pgadmin-data"
time="2023-12-27T19:01:06Z" level=info msg="path: \\\\Orzhova\\home\\Non-Drive Offline Backups"
time="2023-12-27T19:01:06Z" level=info msg="fileName: ttn-locator-backend_pgadmin-data.tar.zst"
{"time":"2023-12-27T19:01:06.610691238Z","id":"","host":"localhost","method":"GET","uri":"/progress","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":112364,"latency_human":"112.364µs","bytes_in":0,"bytes_out":46}
time="2023-12-27T19:01:06Z" level=info msg="fileExt: .zst"
time="2023-12-27T19:01:06Z" level=info msg="cmdJoined: tar -I zstdmt -cvf /vackup/ttn-locator-backend_pgadmin-data.tar.zst -C /vackup-volume ."
time="2023-12-27T19:01:06Z" level=info msg="binds: [ttn-locator-backend_pgadmin-data:/vackup-volume \\\\Orzhova\\home\\Non-Drive Offline Backups:/vackup]"
{"time":"2023-12-27T19:01:07.240055934Z","id":"","host":"localhost","method":"GET","uri":"/progress","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":95471,"latency_human":"95.471µs","bytes_in":0,"bytes_out":46}
{"status":"Pulling from felipecruz/alpine-tar-zstd","id":"latest"}
{"status":"Digest: sha256:2db46ce1251d53d182c5da1ff22d300961f4092ad9491e0e872091679cba87b9"}
{"status":"Status: Image is up to date for felipecruz/alpine-tar-zstd:latest"}
{"time":"2023-12-27T19:01:08.305059334Z","id":"","host":"localhost","method":"GET","uri":"/progress","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":49424,"latency_human":"49.424µs","bytes_in":0,"bytes_out":3}
time="2023-12-27T19:01:08Z" level=error msg="Error response from daemon: \\\\Orzhova\\home\\Non-Drive Offline Backups%!(EXTRA string=is not a valid Windows path)"
2023/12/27 19:01:08 notifying bugsnag: Error response from daemon: \\Orzhova\home\Non-Drive Offline Backups%!(EXTRA string=is not a valid Windows path)
{"time":"2023-12-27T19:01:08.633171981Z","id":"","host":"localhost","method":"GET","uri":"/volumes/ttn-locator-backend_pgadmin-data/export?path=%5C%5COrzhova%5Chome%5CNon-Drive%20Offline%20Backups&fileName=ttn-locator-backend_pgadmin-data.tar.zst","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":500,"error":"Error response from daemon: \\\\Orzhova\\home\\Non-Drive Offline Backups%!(EXTRA string=is not a valid Windows path)","latency":2123928573,"latency_human":"2.123928573s","bytes_in":0,"bytes_out":36}
{"time":"2023-12-27T19:01:08.850158494Z","id":"","host":"localhost","method":"GET","uri":"/progress","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":50927,"latency_human":"50.927µs","bytes_in":0,"bytes_out":3}
{"time":"2023-12-27T19:01:28.915080544Z","id":"","host":"localhost","method":"GET","uri":"/progress","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":43222,"latency_human":"43.222µs","bytes_in":0,"bytes_out":3}
{"time":"2023-12-27T19:01:28.925776455Z","id":"","host":"localhost","method":"GET","uri":"/volumes","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":10588501,"latency_human":"10.588501ms","bytes_in":0,"bytes_out":579}
{"status":"Pulling from justincormack/nsenter1","id":"latest"}
{"status":"Digest: sha256:e876f694a4cb6ff9e6861197ea3680fe2e3c5ab773a1e37ca1f13171f7f5798e"}
{"status":"Status: Image is up to date for justincormack/nsenter1:latest"}
{"time":"2023-12-27T19:01:31.033013675Z","id":"","host":"localhost","method":"GET","uri":"/volumes/size","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":1734166469,"latency_human":"1.734166469s","bytes_in":0,"bytes_out":466}
{"time":"2023-12-27T19:01:32.376972451Z","id":"","host":"localhost","method":"GET","uri":"/volumes/container","user_agent":"Docker-Desktop/4.26.1 (Windows; x64)","status":200,"error":"","latency":3078125466,"latency_human":"3.078125466s","bytes_in":0,"bytes_out":601}
moracabanas commented 6 months ago

Your error seems to be related with incorrect Windows export path handling on docker. "Error response from daemon: \\\\Orzhova\\home\\Non-Drive Offline Backups%!(EXTRA string=is not a valid Windows path)"

I am working on Docker Desktop for Linux. In my case the error was caused by selecting an external path which hasn't been listed in the Settings>Resources>File Sharing. You must add your destination path there, or at leas a parent directory of the destination path.

malcolmradelet commented 1 month ago

I get the same error. I checked the logs and I see this entry. Is it supposed to say /vackup or is that a typo? I would guess that it's looking for /backup.

{
"time":"2024-08-11T02:40:27.231323801Z",
"id":"",
"host":"[::1]",
"method":"GET",
"uri":"/volumes/Certs/export?path=F:%5CDrive%20Backup%5CDocker%20Volumes&fileName=Certs.tar.zst",
"user_agent":"Docker-Desktop/4.33.1 (Windows; x64)",
"status":500,"error":
"Error response from daemon: invalid mode: /vackup",
"latency":1890543190,"latency_human":"1.89054319s",
"bytes_in":0,
"bytes_out":36
}

WSL Info

WSL version: 2.2.4.0
Kernel version: 5.15.153.1-2
WSLg version: 1.0.61
MSRDC version: 1.2.5326
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26091.1-240325-1447.ge-release
Windows version: 10.0.22631.3880

Docker Desktop Info

Client:
 Version:           27.1.1
 API version:       1.46
 Go version:        go1.21.12
 Git commit:        6312585
 Built:             Tue Jul 23 19:57:57 2024
 OS/Arch:           windows/amd64
 Context:           desktop-linux

Server: Docker Desktop 4.33.1 (161083)
 Engine:
  Version:          27.1.1
  API version:      1.46 (minimum version 1.24)
  Go version:       go1.21.12
  Git commit:       cc13f95
  Built:            Tue Jul 23 19:57:19 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.19
  GitCommit:        2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41
 runc:
  Version:          1.7.19
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
simon-mottram-cucumber commented 2 weeks ago

Having the same issue and there's no work around that I can think of. Running windows docker desktop you have to select a windows file system folder. You can try selecting a linux drive but you still get same error.

I can't see how export to file can work on Windows with WSL2

malcolmradelet commented 2 weeks ago

I can't see how export to file can work on Windows with WSL2

The only workaround is to use the Volumes workspace/area in Docker Desktop:

Volumes > [Select a Volume] > Exports tab > Quick Export

Quick Export is the same UI as the extension and it works. Seems like a simple typo in the Extension is trying to "vackup", not "backup" the volumes.

image

@simon-mottram-cucumber hopefully this helps for now