Moving from 1 Docker to another in 6 steps


Recommended Posts

I have been keeping an old docker around because I didn't want to break anything by changing the repository.

 

I finally decided to move my dockers to the linuxserver ones and it was easier than I thought, so I documented it in case anyone else wants to do the same but is worried about doing it.

 

[*]Stop current docker

[*]Click docker icon and select edit on the current docker and take a screenshot of the current Volume Mappings

[*]Click on docker icon and select Remove, at the prompt select "Container and Image"

[*]Find the new version in Community Applications and click Add

[*]Make sure volume mappings match your screenshot, change/add any that don't, then click Create

[*]Done

 

Something to bare in mind with the linuxserver docker is that after install it runs a script to fix user permissions that are set wrong, so if the webgui is not running this is probably why, it can anywhere between a few minutes and 20 or so minutes depending on the size of your library and speed of your server.

 

If you aren't sure, go to the logs icon next to the docker container and click on it, if the last line is *** Running /etc/my_init.d/99_chown_plex_owned_files.sh... then the user script is still running.

Link to comment

Actually step 5 can be done even easier (no need to retype anything).

 

Click Select a template -> under Templates User select the my-<template-name> to restore the settings.

That would restore the original version.  You would have to change the repository that the my* template brings up. 

Link to comment

I quite often run two different sources of a docker with one lot of appdata to test.

 

Just call one

 

App-Repository1

App-Repository2

 

Easy  ;D

 

Then when I've decided which one to use I delete the other and rename the winner App..

Not sure that is the greatest idea, as one docker can cause issues for another that you wouldn't necessarily be able to pin point to a certain docker.

 

For example, the linuxserver plex docker doesn't have certain issues with permissions that are present in other dockers, running them off the same appdata folder would mean that both of them have issues with permissions.  Of course the same is true starting with the one with issues and moving to the linuxserver one as it's not set up to correct issues it hasn't caused itself.

Link to comment

I quite often run two different sources of a docker with one lot of appdata to test.

 

Just call one

 

App-Repository1

App-Repository2

 

Easy  ;D

 

Then when I've decided which one to use I delete the other and rename the winner App..

Not sure that is the greatest idea, as one docker can cause issues for another that you wouldn't necessarily be able to pin point to a certain docker.

 

For example, the linuxserver plex docker doesn't have certain issues with permissions that are present in other dockers, running them off the same appdata folder would mean that both of them have issues with permissions.  Of course the same is true starting with the one with issues and moving to the linuxserver one as it's not set up to correct issues it hasn't caused itself.

 

Yeah, I see what you're saying and to be fair I haven't tried it with Plex, and I NEVER run both at the same time, but it helped to migrate things to linuxserver.io's containers and check they were working and it was invaluable when testing TVHeadEnd with different versions.  Also very useful for testing stuff when I've added extra php stuff into my Apache docker. 

 

But I can see how someone could get into trouble with it.

Link to comment

Ahh, if they aren't running at the same time it's less of a problem, it's basically the same but you can move back to the old one if you have to.

 

Yep, it's essentially just a bit more of a refined version of what you posted.. without the need for screenshots or anything.  I open the config in one browser window, and the new config in a second browser window, copy and paste and ensure they are named differently.

Link to comment
  • 6 months later...
  • 4 weeks later...

I have been keeping an old docker around because I didn't want to break anything by changing the repository.

 

I finally decided to move my dockers to the linuxserver ones and it was easier than I thought, so I documented it in case anyone else wants to do the same but is worried about doing it.

 

[*]Stop current docker

[*]Click docker icon and select edit on the current docker and take a screenshot of the current Volume Mappings

[*]Click on docker icon and select Remove, at the prompt select "Container and Image"

[*]Find the new version in Community Applications and click Add

[*]Make sure volume mappings match your screenshot, change/add any that don't, then click Create

[*]Done

 

Something to bare in mind with the linuxserver docker is that after install it runs a script to fix user permissions that are set wrong, so if the webgui is not running this is probably why, it can anywhere between a few minutes and 20 or so minutes depending on the size of your library and speed of your server.

 

If you aren't sure, go to the logs icon next to the docker container and click on it, if the last line is *** Running /etc/my_init.d/99_chown_plex_owned_files.sh... then the user script is still running.

 

Thanks for posting the steps. I just completed them; but, when check the log file the last line is:

Starting Avahi daemon

Is this normal? It has been like this for almost 15 minutes now, nothing about the script mentioned above is in the log.

 

Thanks in advance

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.