• Why Deon likes Docker #2

    From Deon George@21:2/116.1 to All on Wed Oct 17 13:59:14 2018
    For the developers in the room - IMHO, Docker makes it easier to support the users of your developed application - and I would add "significantly".

    With so much variety in deployment methods (do I install in /opt or /usr/local), versions of libraries, distributions of OS, OS layout personalities, UID numbers, GID numbers (and the list goes on) - sometimes supporting somebody means you need to learn how they deployed your application and the environment they run it on. (And I've seen some shady deployments.)

    Historically, package managers (RPM, APT, etc), helped a lot here, since they deployed your app in a consistent manner, but you still had a lot of variety
    of how the environment is configured (A debian system is different to a
    redhat based one). Compiling with GCC version A results in a different binary to GCC version B, etc...

    With docker, applications are installed "once" (ideally by the developer) and deployed an unlimited number of times (by consumers of it). So inside the container, you (as a developer) provide all the pre-requisites that you need for your application to run (UID's, GID's, libraries, paths, etc...). Users
    of your app dont change "inside" the container. (More on this another time.)

    Outside of the container, users who deploy your app, can choose the
    personality they like (Redhat, Debian, data in /usr, data in /home,
    Kernel v3, Kernel v4, whatever).

    If your deployed app generates an error (or doesnt function as expected),
    your user will contact you for help. You dont need to know anything about the environment your application is running on (well maybe just a little bit of info is needed), nor how they deployed you container, you know EXACTLY how it is configured, you know its has the required dependencies and hopefully you know the error messages (since you created them) - so you can more quickly
    jump to the cause and resolve.

    From a user experience point of you installation is "docker pull <name of contianer>" then follow the "setup/configure instructions". No compiling,
    No pre-requisite installations, No conflicting software issues. No
    conflicting port issues, etc...

    ...deon

    --- Mystic BBS v1.12 A39 2018/04/21 (Raspberry Pi/32)
    * Origin: Chinwag | MysticBBS in Docker on a Pi! (21:2/116.1)