Quite the contrary, I’ve found Docker to be absolutely indispensable for local dev, particularly when I’m debugging various cloud-targeted components, e.g. AWS Lambdas and Step functions. A container can nicely simulate most of the running environment of those things, and mock everything else. Docker + JetBrains IDE is a must-have for that reason
What images do you use? I would love to hear about your setup to debug lambda functions.
I use the AWS Toolkit for PyCharm; it automates most of the process, including pulling an image (built by Amazon, I believe) that emulates the Lambda environment. All I have to do is write the Lambda function with the correct method signature, designate it as such, start a debug session, and PyCharm + Docker do the rest. It's insane that PyCharm Professional only costs $100 or so, it saves me that much in development time in a single day.
Edit: all of the above will work with the free version of PyCharm, I believe, but without the in-IDE control panel for Docker (which you don't absolutely need).
Yeah, I tried out developing locally with Docker once and gave up within the same day. But I just checked and I have 12 containers currently running on my NAS. Can't really beat that easea and speed of deployment, and isolation.
Re:Ask HN: What Is the Hype with Docker?
by bredren on Tuesday October 25, 2022 @01:31AM
(#33326615)
Pycharm still struggles to provide debug of Python interpreters running in local docker containers from an orchestration.
It’s supposed to just work but jetbrains has broken it and changed the config over and over with a big regression as recently as 2022.2.
Vscode apparently handles this better.
I follow posthog, and they keep all components of their local dev env in containers _except_ the web dev and I think that’s the right move.
For my personal projects I just run services I need locally. But all CI and deployment is via orchestrated containers.
In theory it is also better because you can manage a fleet of containers just by looking at their memory and CPU usage and not really caring about what's inside, but I think the reality is that k8s is so complex it's not clear the tradeoff of finer-grained management is worth the difficulty of setting it up. Maybe, depends on your use-case.
People are saying the issue is that you're running it on Windows but I would counter that running on macOS can be just as bad if you're trying to run x86 containers on an ARM box.