With jupyter notebooks in a devops perspective you could just build a process to export the notebooks to standard py files and then run them.
There are actually a lot of git hooks that will actually expoet/convert .ipynb to .py files automatically since notebooks don’t work great with git.
Maybe I’m not aware of similar configurations you can do, but it’s only sorta it’s own container. VSCode can actually directly connect to it automatically so you can develop in host os but run directly against the container. Additionally this means some visualization/gui interfaces can be visible on the host side (this is a gift and a curse).
So you basically have system integrated containers/vms. It’s not perfect, but it is definitely leagues better than what windows development was prior and may have some advantages over Linux only deployments (not sure if the system integrations are feasible in Linux hosts).