Live data from Hacker News

Docker as an Integrated Development Environment (2019)

medium.com

31–40 of 93 posts

Re: Docker as an Integrated Development Environment (2019)

#32
Personally I'd prefer going with NixOS to achieve the same result. that way you don't even need a docker installation. As a bonus you can actually install the Nix package manager on osx if you're not into Linux (and this way there is no need for virtualization if you're on a Mac)

More info: https://nixos.org/

Re: Docker as an Integrated Development Environment (2019)

#33
I'm currently testing fedora silverblue, which uses toolbox in a roughly similar way. https://github.com/containers/toolbox

One thing that bugs me is that I can't (or don't know how) get my current state into a Textfile, from which I can reproduce.

It's also not fun for embedded development. Guess what, I need to access USB devices, serial, mass storage, hid - super annoying with this setup.

Re: Docker as an Integrated Development Environment (2019)

#34

I only get a new laptop once every several years. Doesn't really seem worth it to me personally. I also sort of like starting fresh in a way. Granted I have my dot-files on github to make that part easier. But I don't mind running the install command for things as they come up. I'm curious if there are other benefits to this approach though besides just saving time when setting up a new machine. The article mentioned…

Reproducible dev environment. Easier to reproduce some bugs for fixing. More certainty that it doesn't just work on your laptop because you have an undocumented dependency installed. Easier to test the setup process on a clean machine and vary things about the machine setup. To test what happens if you have Python available system-wide vs. if you don't. More precise development history since you have docker-compose.yml under Git, making "time travel" easier.

There's all kinds of little benefits that don't seem that important until you have use for them. Of course Guix and Nix go closer to being actually reproducible, but Docker is better than nothing.

Re: Docker as an Integrated Development Environment (2019)

#35

Go the next step and run a local kubernetes cluster with kind or k3s (it will take you 30 seconds to have a k8s cluster going). IMHO the kubectl CLI is a lot more logical than docker's CLI. You can create all your local storage volumes ahead of time, create a pod that attaches to it, and then just kubectl exec into the pod vs. writing a long fiddly docker command line string (or crafting a docker-compose.yml). It's e…

Check out k9s also, it’s much nicer to use than kubectl for edits and shells and things.

Re: Docker as an Integrated Development Environment (2019)

#36
post #5

if you want an OS as ide... wouldn't be easier to install emacs?

Until you reimplement every language as transpilers to elisp, that's not the same thing at all. In this respect, Emacs is actually in the same tool category as VSCode or Vim. As you'd set up Dev Containers in VSCode, you'd set up TRAMP in Emacs to ssh into a Docker environment, or (more likely for Emacsians I guess) access a Guix environment or Nix shell.

Re: Docker as an Integrated Development Environment (2019)

#37
I actually do do this - https://github.com/mikadosoftware/workstation

I like the idea of using k8s as suggested upthread. I just have not had much time to push changes / work on it recently. One thing worth thinking about is i have moved to podman - seems a lot slower to start up but is user space which seems sensibke

Re: Docker as an Integrated Development Environment (2019)

#38

I only get a new laptop once every several years. Doesn't really seem worth it to me personally. I also sort of like starting fresh in a way. Granted I have my dot-files on github to make that part easier. But I don't mind running the install command for things as they come up. I'm curious if there are other benefits to this approach though besides just saving time when setting up a new machine. The article mentioned…

[deleted]

Re: Docker as an Integrated Development Environment (2019)

#39
post #32

Personally I'd prefer going with NixOS to achieve the same result. that way you don't even need a docker installation. As a bonus you can actually install the Nix package manager on osx if you're not into Linux (and this way there is no need for virtualization if you're on a Mac) More info: https://nixos.org/

As an added bonus, Nix can still easily output a container image for docker use containing the same shell environment.
Post reply on HN