简体   繁体   中英

Docker mount dangling volume

I recently created a mongodb docker instance running on boot2docker on windows.

Unfortunately during my experimenting with kitematic I managed to accidentally remove the volume from the mongo container and can no longer access my data.

The mongo instance seems to have created a new volume with the old volume now remaining dangling (orphaned) and not mounted in any containers.

Is there any way to recover this?

Thanks for your reply it got me on the right track, I managed to start a new mongo container using the following command

docker run -d -v 571284fbe08a3f2b675af299ec14e55550bad623f6316914d465843fa12d6f18:/data/db mongo

where 571284fbe08a3f2b675af299ec14e55550bad623f6316914d465843fa12d6f18 is the dangling volume identified by using

docker volume ls

I usually register the path (in a file) of any data volume container I create, precisely in that case. See " Docker volumes for persistent data - is it enough to pass container path only? " and my script updateDataContainerPath .

What I have seen is that:

That will be enough for the new data volume container to give you access to your old data.

In your case, since you didn't register the path of your previous data volume container, you will have to do a search in /mnt/sda1/var/lib/docker/volumes/ for a known file.

This answer is probably just a rewrite of @VonC's, but I feel the need to sum things up a bit. Here are the steps I followed in order to put back a volume that got 'detached' after the container had been removed and recreated.

  1. docker volume ls -f 'dangling=true' to see all detached volumes
  2. docker volume inspect <volume_hash> on each to see where they sit ( /var/lib/docker/volumes/ in my case)
  3. Look into each volume's /_data folder to guess who's who.
  4. Then as explained by VonC, just copy the content of the dangling volume into the new one.
  5. (optional) when you are sure you've got back everything you need, docker volume prune will remove all dangling volumes (and therefore make a potential future search for the right dangling volume easier ^^)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM