IMHO, projects should work with default config at least of basic functionality, or crash at start time with a nice error message telling what's missing to add or configure. Docker should not be needed for development environments, at most docker-compose when there are several interrelated components, and always accessing the actual source code from a volume, so it's only used to spin servers up.
I'd prefer something like Flyway to keep database schema and code in sync. But Docker for sure avoids the hazzle of installing and updating database and middleware. Your build system should pick the correct version of the compiler.
The should be no procedure other than getting the software from the repository , almost.
I miss a plot twist, like "...until a new teammate joined, and found Docker was either the solution", and later a long post explaining the importance of document everything and have documentation updated and how to test all the onboarding process is updated automatically :-)
Is it easy for developers who've never used Docker to get used to it?
I think so. It's easier than config all app by hand.
Yes, indeed. Sure, there is a learning curve when using Docker the first time, but afterwards it’s easy.
IMHO, projects should work with default config at least of basic functionality, or crash at start time with a nice error message telling what's missing to add or configure. Docker should not be needed for development environments, at most docker-compose when there are several interrelated components, and always accessing the actual source code from a volume, so it's only used to spin servers up.
“projects should work with default config at least of basic functionality“
Yes.
“Docker should not be needed for development environments“
VJ: But how would you hand the case where the app needs a DB, yet there’s no Docker?
Allow to install the database globally, include a local mock server, or use docker-compose. Docker-compose is nice for these use cases, Docker isn't.
I'd prefer something like Flyway to keep database schema and code in sync. But Docker for sure avoids the hazzle of installing and updating database and middleware. Your build system should pick the correct version of the compiler.
The should be no procedure other than getting the software from the repository , almost.
Documents get outdated. Period.
I miss a plot twist, like "...until a new teammate joined, and found Docker was either the solution", and later a long post explaining the importance of document everything and have documentation updated and how to test all the onboarding process is updated automatically :-)