Docker Community Forums

Share and learn in the Docker community.

DTR 2.2.x - Changing Storage Backends

I need to change storage backends in DTR from Local File Storage to S3. I copied everything up to S3 (via s3cmd sync)… yes that “docker” directory thats is the root of DTR’s storage. I was hoping that when i went back to DTR and setup everything right, my repositories would show all of their images/tags, but they show nothing. I can do a “replacement push” of an image that was stored locally, to DTR (Which would now store in S3) and that works. Am i missing something? Is there some config, some extra files, or is there stuff in RethinkDB regarding the repos that a straight copy up to S3 would cause DTR to not see its images?

(BTW, i did switch it back to file storage, so i’m not dead… but i need to replicated this thing now, and i’m thinking S3 is the backend i should use.)

Or… do i need to re-push all of the images again?

Hey Michael,

When you switch backends DTR, it does something called a “tag migration” in the background while it updates the database. It takes a while to run, particularly if you have a lot of tags, and unfortunately tags won’t show up until they’re properly migrated. You should be able to get the status of the migration through the jobs API.

I don’t think this is covered in the docs, so I’ll make certain it gets in there.

Sorry about the confusion!

Thanks… I’m assuming that if one switches storage backends, DTR is not going to move the data for you, and "these are the things you should do should you so desire… 1. foo 2. bar 3. etc…

It won’t move it for you, but it still needs to do the internal tags migration to fix up each of the tags. So using s3cmd was the right thing to do, but you would just have to wait a while until the tag migration was complete.