Thoughts about docker??


ffingers

Recommended Posts

So I recently moved to 6 and LOVE the idea of Dockers and the virtualization that comes with them...

 

Here's my issue though and I am curious as to everyone's thoughts....I am a noob when it comes to dockers and am not the best at linux...let's say my experience in generalized computing is fairly high...i am not the type to compile my own docker images etc just because i haven't seen a sufficient document to instruct me on how to do so and i am sure that many others are way more competent in doing it correctly....

 

that being said...since getting my system set up and running (coming from plugins) I have had a lot of minor issues...things not talking...functionality breaking, permission issues etc...on top of that, there are a lot of updates and builds that i am unable to take advantage of because the docker has to be rebuilt and they are getting stale...

 

at least with plugins, it was fairly easy to get updates to nightly builds or latest stable builds within app if needed....with dockers, it appears that we are dependent on the docker author to do updates which as we all know, sometimes life can get in the way for quite awhile. This leaves people sort of in the dark on some stuff...for example, love the work needo has done...but nzbget, can't get the latest build to install, plexwatch is behind, nzbdrone is behind....

 

my question is this...is it possible to build dockers where it is still easy to do updates to the software absent the docker author??? i don't know enough to know one way or another....

 

what are people's thoughts about the handcuffing of updates docker brings along with it? or am i missing something??

Link to comment

So I recently moved to 6 and LOVE the idea of Dockers and the virtualization that comes with them...

 

Here's my issue though and I am curious as to everyone's thoughts....I am a noob when it comes to dockers and am not the best at linux...let's say my experience in generalized computing is fairly high...i am not the type to compile my own docker images etc just because i haven't seen a sufficient document to instruct me on how to do so and i am sure that many others are way more competent in doing it correctly....

 

that being said...since getting my system set up and running (coming from plugins) I have had a lot of minor issues...things not talking...functionality breaking, permission issues etc...on top of that, there are a lot of updates and builds that i am unable to take advantage of because the docker has to be rebuilt and they are getting stale...

 

at least with plugins, it was fairly easy to get updates to nightly builds or latest stable builds within app if needed....with dockers, it appears that we are dependent on the docker author to do updates which as we all know, sometimes life can get in the way for quite awhile. This leaves people sort of in the dark on some stuff...for example, love the work needo has done...but nzbget, can't get the latest build to install, plexwatch is behind, nzbdrone is behind....

 

my question is this...is it possible to build dockers where it is still easy to do updates to the software absent the docker author??? i don't know enough to know one way or another....

 

what are people's thoughts about the handcuffing of updates docker brings along with it? or am i missing something??

 

This is a subject of much debate in the community here and Docker users everywhere.  Technically speaking, updating the app inside the container without updating the container is not considered the right way to use Docker by purists.  It defeats the entire purpose of "build once, run anywhere."

 

That said, it then puts the onus on the Container author/maintainer to keep upgrading the container itself for their users, which can be a pain, so approaches like what gfjardim has done are actually fairly decent for allowing users to "self manage" their apps.

 

Jumping over to play devils advocate again though, self-management of apps is one of the big problems to begin with.  The "patch everyone" approach to application management isn't realistic in this day and age.  How many times have you ever updated an app only to see it either break thereafter or change in design so much that you wish you could undo the update?  This happens all the time and its because people think they are "missing out" on something by not running the latest version.

 

I actually have a server here that is still running Plex Media Server and the version that was out back in June.  Guess what I've missed since then?  Nothing.  All my shows and movies play, all my media is updated appropriately, and all the devices I have work great.  Guess what doesn't work great?  A more recent version of Plex had actually CLOBBERED support for Chromecasts even worse than it was.  It works decent in the current version, but there was a number of releases where it was just totally unusable.  Guess what "upgrades" came with those releases that I would have used.  None.

 

So this opens up a whole can of worms and a debate over what's the right approach to containers in general as well as for use in an unRAID system.  Quite simply, that's the beauty of open source too.  People can release something like Docker with an intended use and design and see it completely change based on how others perceive it from their experimentation.

 

Long and short:  regardless if its docker or plugins, you are dependent on the author of the work for updates and management.  If the plugin author disappears, yeah, you can still update the app for a while, but if the app changes too much, the plugin could stop working without an update there.  So the argument over plugins vs. containers is fairly moot.  And as BRiT has commented, we have already seen some authors bend how Containers work to make them easier to update and without releasing new container image versions.

Link to comment

I agree Jon and I appreciate the post...

 

I agree that having a stable version and one that just works is ideal...but I guess I am struggling with the support aspect of it...i will deal with it but i guess it will be doubly important for those that decide to put their dockers out there for the community, that they are responsive or at least give others access so that the docker can be maintained....i think having a single person responsible for a docker is a bad idea....

 

as for versions, i agree that minor revisions aren't needed, but occasionally, incremental updates do add a feature that is needed...for example, in nzbget, they added some specific fake download handling because there is a lot of false things being posted up...until i get that revision, i can't take advantage of that...so although minor revisions typically are not needed, it's nice to have that option...

 

again...this really isn't against docker, but rather hoping to promote some healthy discussion around maintenance, availability, and agility when it comes to using dockers...it's something that plugins didn't really have to deal with as a lot of plugins had the ability to upgrade fairly easily...now a different process needs to be observed...am sure others besides myself were not 100%completely aware of this limitation and it needs to be weighed depending on how you maintain your system...

 

please make no mistake i am not condemning one of the other, in fact, i really like docker...the whole reason i moved to 6...but i think we need some though around some of the software packages that are still in their infancy and being developed very quickly...

 

thanks again for the time...and the hard work!

Link to comment

Hello ffingers,

 

While this isn't a direct answer to your issue, one cool thing about docker is it's hub registry.

 

In the plugin world everything was tied to UNRAID directly, there was some overlap that multiple authors may have released the same type of plugin, or their version of a plugin, but if an author fell off the face of the earth, and you wanted a replacement you would have to search the forums for an alternative. If you were lucky you found that someone else took over where the previous author left off,  but there was no central repository.

 

Since Docker containers/images are independant of the platform they run on, there are a lot more authors because they aren't just part of the UNRAID community, if an author disappears you can always just install another authors docker, and it's even easier to find authors that have made what you are looking for by searching in docker's central hub registry.

 

https://registry.hub.docker.com/

 

I'm sure you knew most of that but it's something I feel should be added to this conversation.

Link to comment

i think there are several ways around a possible roadblock caused by the author of the docker images going awol:-

 

1. clone the authors github repository, create a new docker account and link the two together to get back to a working state

2. download the authors dockerfiles and build the docker locally

3. as guyonphone mentioned, download a docker image from another author

 

the alternative to all of this of course is a full vm such as kvm/xen, this allows you to upgrade the app natively without the need to wait for anybody to push the docker build button, still imho dockers pro's outweigh their con's so for me im sticking with docker.

 

a nice solution to this would of course be a shared github/docker hub account with certain key unraid community members, so that a build/tweak could be done at any time and not be reliant on one person.

 

Link to comment

That's exactly how nzbget from gfjardim docker is built. It supports updates of the main app.

I couldn't get that to work, posted about it, but I don't think there was a response.

I used needo's nzbget Docker, which works very well, but there's a problem with unraring that's specific to Docker.

I spent a few days debugging that issue with the author of nzbget (hugbug) and we concluded it's specific to running nzbget in a Docker.

 

I posted that problem, and again no replies.

 

I kind of follow the idea of merging Dockers, rewriting them or writing your own, but I'm not a programmer, so I don't know how well that'd go.

 

I think the issue is that we rely too heavily in volunteers for what are becoming "core"  uses for our servers.

 

Here's an idea: Limetech pick up the top ten applications used in unRAID and adopt them as official plugins or Dockers. That would mean they code the plugin or Docker.

This is the Synology approach AIUI.

 

Or, they sponsor a programmer (one ir more of the existing people here) and pay them to maintain the app.

 

Or, we all crowdfund the development/maintenance of the core apps - we each pay $10 a year or something.

 

Well, it's an idea...! 

Link to comment

That's exactly how nzbget from gfjardim docker is built. It supports updates of the main app.

I couldn't get that to work, posted about it, but I don't think there was a response.

I used needo's nzbget Docker, which works very well, but there's a problem with unraring that's specific to Docker.

I spent a few days debugging that issue with the author of nzbget (hugbug) and we concluded it's specific to running nzbget in a Docker.

 

I posted that problem, and again no replies.

 

I kind of follow the idea of merging Dockers, rewriting them or writing your own, but I'm not a programmer, so I don't know how well that'd go.

 

I think the issue is that we rely too heavily in volunteers for what are becoming "core"  uses for our servers.

 

Here's an idea: Limetech pick up the top ten applications used in unRAID and adopt them as official plugins or Dockers. That would mean they code the plugin or Docker.

This is the Synology approach AIUI.

 

Or, they sponsor a programmer (one ir more of the existing people here) and pay them to maintain the app.

 

Or, we all crowdfund the development/maintenance of the core apps - we each pay $10 a year or something.

 

Well, it's an idea...! 

This isn't a bad idea, but getting this setup would take some serious time and effort for the business, legal, and technical side of things.

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.