trivially remap ports to whatever we want (and expose whichever we'd like to the outside) The usefulness of it cannot be overstated.įurthermore, in addition to the points you mentioned, it also lets us: Not to mention that dependencies that needed to be built statically couldn't be easily cached, which comes out of the box with Docker. I do have a lot of mostly-redundant dockerfiles in some places, but in others I've managed to leverage m4 to reduce the redundancy (though I'm trying to keep it as slim as possible to avoid the pain of turning everything into a convoluted set of impossible-to-maintain macros).īefore this, I was using Vagrant and Ansible for builds, which was slow, memory hungry, and frustrating to debug. I then have another set of docker images for making package repositories and signing everything. It builds and packages the software on all of these, giving me debs and rpms for every relevant distro ("relevant" meaning distros used for servers or workstations for any of our employees and clients). I have a Makefile that builds Docker images and runs build processes for all 4 supported versions of Debian, 3 LTS versions of Ubuntu, RHEL7, and Fedora 35 and 36. ![]() I find for builds especially it's invaluable. To me, Docker is as essential as my text editor these days. Everything I use has an official image, so I just write some small setup script, a Dockerfile, knit everything together in a docker-compose.yml and presto, done: Application stack is up and running. ![]() Oh, and of course, good bye and good riddance to the days when I had to install and configure local RDMS for tests. Doesn't get in the way, doesn't demand that I work around it.it works with me and my tools in the same way they already work together. Meaning I can script it every way I want, using the tools I already have and use. ![]() The usefulness of it cannot be overstated.ĭoesn't even matter if its used anywhere in the deployment chain simply having the ability to pull up a replica of almost any *nix environment on my laptop in mere seconds, using it for tests, and then throwing it away resetting it again in mere seconds is beyond awesome, no matter if what I'm working on then goes into a huge complicated deployment chain, or is shoved onto some on-premises, zero-abstractions, baremetal server.Īnd how is it all configured? Plain text files.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |