As you may know, there are a lot Docker Containers out there, you're able to use. You may have experienced some troubles with some of them.
I started creating my own Dockerfiles around March 2014.
Here are some Answers about my personal build Dockerfiles (but some of them were forked). You'll recognize them if there start with marvambass/ (which means there are created by the user marvambass - which is me)
Nearly all of my Dockerfiles are Automated Builds with their github.com Projects linked in the README.md. This will only change if I start creating my own Base Image Containers (like ubuntu or scratch).
But currently I haven't created Base Images.
I also try to automatize all needed steps, so for example my marvambass/piwik container doesn't need any personal interaction to go thru the setup process, this is all done automatically if you use the enviroment variables described in the README.md.
Also my marvambass/owncloud container updates all data after an Update automatically.
I try to stick on the latest Version possible. If I'm able to use distribution packages I'll use them. Otherwise I tend to use the latest version of the project page (e.g. somepackage-latest.zip or somepackage-latest.tar.gz)
How to do updates of your containers
Okay this is a bit special. I try to be as stable as possible, but after some major changes, especially if I don't use the image myself, it's possible that the image or some of it's functionality is broken.
To do updates follow this way (I recomment this way for every update of production containers)
You should have a integration environment.
Hey it's just Docker and no full size virtualisation - so you could use a old PC or Notebook for everything
If you use some orchestration tool like ansible or fig etc. this should be very very easy.
Pull my new images with Docker to ensure you use the latest version available
docker pull marvambass/nginx-registry-proxy docker pull marvambass/owncloud [...]
Now run your Orchestration Tool or build the environment by hand, script etc.
Check if everything still works. I something is broken, go to the github.com project page and open a new ticket with this error!
Repeat everything in production ;)
Why don't you combine every Command with &&
You may have seen some of the new Dockerfiles which combine every Command with &&. Well it's not that bad, but I want to benefit from the different layers.
I put some logical fitting tasks together, but I don't want to rebuild everything if there is only a small change in between my Commands.
Why don't you use Tags
Most of my Images are intended for direct Online use.
If I'd use Tags, some people out there will use this tags over the next 10 years.
Why don't you stick to specific Version instead of latest.
As said above, I don't want people to stick on old versions over years.