| I seem to have a different perspective on this. My understanding of Docker and containerization, in general, is that their primary goal is to encapsulate all the necessary components to run a piece of software within a single, universally portable package. I haven't encountered issues with "different versions of Docker." On the contrary, I've faced challenges with various versions of Python, PHP, packages, and system libraries when not using Docker. These are issues that simply don't arise within the Docker environment. While it's true that some users neglect image hygiene, using the wrong base image or including unnecessary elements in the final image, I've noticed a decreasing trend in such practices. Regarding configuration files, my understanding is that they remain the same files needed for a vanilla install, simply mapped inside a container. In my opinion, Docker is not just "yet another thing to learn"; it's a single tool to learn and use universally, both now and in the future. I'm not well-versed in PHP development. If I were to use a tool for PHP development, I would need PHP installed, but there are numerous versions available. Do I need Apache? Is it compatible with my three-year-old version? Will it work with a nightly build? What about Composer? Does it have dependencies? And then there's the matter of the database. Now, I'd have to install and configure a complex piece of software with numerous dependencies. SQL is a familiar term to many, but not everyone is comfortable navigating the MySQL CLI, especially when it doesn't come by default on your machine. But what about more than just experimenting? With Docker, a simple Compose file can be created to spin up a configured database, including all necessary dependencies. If required, it can also handle any migration or initialization needed. |
https://github.com/danbooru/danbooru
and the compose file “just doesn’t work” because it is a few years old and not compatible with the docker compose version installed with Ubuntu. I took a crack at updating the config file but didn’t find a lot of documentation to help…. And remember I’ve frequently had “simple” Docker installations become a matter of “download files for hours, have the installation fail, repeat…” so engaging with that monster at all seems like a risky time sink.