1. 9
  1.  

  2. 5

    I run docker in dev and prod and it works great. The Dockerfile and docker-compose.yml is shiped with the source code but if you don’t want to use docker, then simply don’t. I even ship a Vagrantfile if you want to use that.

    The arguments against using docker seem to boil down to the fact that the author did not understand docker before using it and believes other developers wont understand docker either.

    I spent the better part of a day banging my head against some simple database connnectivity issues, only to realize my database container wasn’t configured properly

    This is hardly Docker’s fault, no?

    In a word, no. Even with the simplicity of running docker-compose up -d to set up an application stack, it doesn’t work well with the mental model that a vast majority of developers have for running their environment locally.

    This can’t be true. What evidence do you have to back this up?

    1. 5

      It seems like a really common problem with Docker is that it helps you address (maybe a better word would be hide) the symptoms of software complexity, so the end result is that systems that previously would have rightly collapsed under their own weight and been replaced no longer do so.

      1. 5

        I think that’s true, although I’d argue that this particular problem lies as much with DockerHub as with Docker itself per se.

        By that I mean - DockerHub gives people the illusion that they can simply compose systems using complex components without actually understanding what each layer does and what its requirements, constraints, and environment concerns (like security!) are, and that’s a Problem.

      2. 3

        The shell script I wrote also ended up being rather myopic—it works great in certain environments, but you’re on your own if you’re working in, say, Windows

        I’m with @capitano here. I think the author is confused about Docker’s role in the software deployment ecosystem.

        It solves the problem of distribution rather well, but doesn’t magically make configuring your system properly any less complex than if you hand rolled the typical ball of configuration + shell script goo that companies often use to roll out their software environments from dev to beta/gamma to prod.

        And for some infrastructure niches where a modicum of configuration will usually get you 90% of what most people want, Docker really can provide a quality of life and productivity boost for teams.

        1. 2

          Anyone using Nix to cut down on the number of services in their docker-compose.yml? Or is everyone going into camps?