this post was submitted on 21 Jul 2023
87 points (93.1% liked)

Programming

17408 readers
57 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Some folks on the internet were interested in how I had managed to ditch Docker for local development. This is a slightly overdue write up on how I typically do things now with Nix, Overmind and Just.

you are viewing a single comment's thread
view the rest of the comments
[–] Hexarei 14 points 1 year ago (1 children)

If your dev documentation includes your devs running docker build, you're doing docker wrong.

The whole point is that you can build a working container image and then ship it to a registry (including private registries) so that your other developers/users/etc don't have to build them and can just run the existing image.

Then for development, you simply use a bind mount to ensure your local copy of the code is available in the container instead of the copy the container was built with.

That doesn't solve the performance issues on Windows and Mac, but it does prevent the "my environment is broke" issues that docker is designed to solve

[–] [email protected] 2 points 1 year ago

The whole point is that you can build a working container image and then ship it to a registry (including private registries) so that your other developers/users/etc don’t have to build them and can just run the existing image.

Agreed, we still do this in the areas where we use Docker at day job.

I think the mileage with this approach can vary depending on the languages in use and the velocity of feature iteration (ie. if the company is still tweaking product-market fit, pivoting to a new vertical, etc.).

I've lost count of the number of times where a team decides they need to npm install something with a heavy node-gyp step to build native modules which require yet another obscure system dependency that is not in the base layer. 😅