That's pretty much what I do as well. It was an absolute game-changer for me when I discovered tiling WMs some ~7 years ago, because it meant super consistent keyboard shortcuts for getting to exactly what I wanted to interact with. I know where individual apps/tasks go, so I put them there. And then when I need to switch to them, it's as straightforward as Super+[workspace].
Also helps a ton that i3wm's workspaces only take up a single monitor at a time, which makes it excellent for jumping between monitors.
None of this is set in stone, but I usually follow a relatively consistent pattern:
Center Monitor
- 1: Primary/"serious tasks" web browser
- 4: Any remote or virtualized desktop I might have open at the time
- 6: Image/video editors. Also sometimes just misc usage.
- 8: Development web browser next to neovim
- 9: Steam/games
- 10: Misc. Often a DBMS or file manager
- 11: Misc. Often where I put any secondary tasks or second projects I need to reference
- 12: Misc. Often where I'll stick any long-running tasks that I just need to check on every now and again.
Left monitor
- 2: Music/comms/task list
Right monitor
- 3: Always only a terminal.
- 5: Text editor to use as a
- 7: Secondary/"wasting time" web browser
Others have addressed the root and trust questions, so I thought I'd mention the "mess" question:
Even the messiest bowl of ravioli is easier to untangle than a bowl of spaghetti.
The mounts/networks/rules and such aren't "mess", they are isolation. They're commoditization. They're abstraction - Ways to tell whatever is running in the container what it wants to hear, so that you can treat the container as a "black box" that solves the problem you want solved.
Think of Docker containers less like pets and more like cattle, and it very quickly justifies a lot of that stuff because it makes the container disposable, even if the data it's handling isn't.