How Docker was born
How Docker was born
How Docker was born
Except when you have to make iOS/Windows/Linux specific instructions to get it working haha.
We have the joke at work where it almost works all the time. As long as the base OS is the same. Also random updates to libraries that break the docker container. But thats less on Docker and more on base OS images that are provided (im looking at you Ubuntu and your "new" sudo...).
And the discussion on whether or not to pin versions.
Pinned, these packages work together, but don't automatically pull in security updates.
Don't pin, things randomly change on each build, best of luck debugging things.
Oh yeah those are fun. Ive come across projects just 6 months after creation that cant work if they have a small version update. So it just sits there for a LONG time before a senior dev (mostly me) decides to get grumpy and fix the dang thing.
CI/CD builds can help....but you have to have someone keep an eye out for potential issues and, in best case, have a development deploy actually test the dang things.
I had success running unit tests for software deployments in pairs, one with pinned versions (error on a failed build) and one unpinned (warning on a failed build)
so at least you get forewarning when an upstream dependency messes everything up, and if the software changes are somewhat regular than each log of pipeline runs should show incremental changes making it easier to spot the package that started breaking everything
Pin API / ABI versions.
If you're able to track that...
Wait what did I miss, Ubuntu changed sudo for the sake of changing sudo?
Its a good question.
This bit me when we tried to use it via a beta build: https://www.omgubuntu.co.uk/2025/05/ubuntu-25-10-rust-sudo-rs-change
Ubuntu is removing core utils and replacing them with supposedly plug and play replacements that work exactly the same. In practice its already breaking some builds ( https://www.phoronix.com/news/Ubuntu-25.10-Coreutils-Makeself ), which is unfortunate. I dont care if core utils are rust or not to be honest. But I DO want things to be rock solid stable in our environment.
There are MANY articles on techrights.org on rust and Microsoft as well, but I don't know enough about the subject to verify any of the claims other than Microsoft seems to have a interest in getting people to use rust more. They are one of their biggest backers. And it would be unfortunate if yet another open source project becomes...influenced by MS and their needs.
I swear every time I work with docker I've got to check the manual. It's got some of the least intuitive commands.
As an OMV user, most of my time starting a container is troubleshooting the compose syntax (delete tabs, replace with spaces, is it " or ' ?) I recently discovered that some containers create a user by default with no way of specifying another user and since it's a container it doesn't register to the host, meaning that setting file permissions and accessing via smb is oh so much joy. But every struggle is a new fount of knowledge.
User permissions is my biggest gripe with containers. Most other things are so easy once you get the hang of them.
Lord help you if you want to use a non root user in the container and mount any volumes to it.
This is why I just develop on the production machine.
One of my friends had a production machine go down bc someone apparently left vim running on a log file all night. Took up over 300gb of ram by the morning. Apparently they got rid of session timeouts because devs were sick of having to log back in
Using memory limited users seems like it would be a good idea. Then again, that might be easier said than done on an existing system.
Yet another reason why
:set autoread
kinda sucks and shouldn't be used.I once interviewed at a company that bragged about not using version control or FTP, and how everyone made their changes in production.
I’m so very glad I didn’t get that job.
Dev is too expensive. Just don't make mistakes...
At least we had backup data for all the times we had to rebuild from bare metal.