I jumped into Docker feet first a few months ago and have not had a real good time with it. Networking doesn't make sense, I can't ever seem to access config files without dropping to su -, all the tutorials and videos I find are pretty top level and assume the user already has a firm grasp on it. It's great for drop in stuff like open speed test and Vaultwarden but I recently tried setting up dashy and I can't even find the config files to edit. The Dashy documentation says the easiest way to edit the configs is to use code-server, so I spun up a code-server VM and can't even get it to open the files because the web based VSC doesn't allow for SSH editing. There's nothing explained in the documentation beyond that.
Yes I'm frustrated but I'm not bitching as if these solutions are trash, I'm simply asking where can I go to learn this shit from the ground up? It doesn't make any sense to me from the perspective that I've approached it. Networking seems to be silly and weird, entering an interactive TTY to the container seems to be useless as there's no package manager and doesn't seem to have vim, nano, or any native way to edit configs. It's been extremely frustrating so I ask you, where can I learn what I'm doing wrong and how to properly work with Docker?
This is almost worse than using sudo. Because now you essentially have full sudo access without having the protections of sudo, like asking for your password
Rootless podman (or docker) is a very different thing that adding yourself to the docker group. Rootless is an advanced topic that makes networking and other fundamental aspects of the container runtime work differently so it's harder to exploit the runtime itself. Adding yourself to the docker group just gives your account permission access the docker daemon running as root... which is a much less fundamental change.
I don't recommend beginners to mess with rootless docker or rootless podman. Rootful podman is much more straightforward (though less well documented than docker).
What was different? I learned podman first because that's what my work wanted to use. I feel like 99% of the time I can just alias docker=podman and everything just works the same way you would expect.
Obviously podman has pods instead of docker compose, but you can get docker compose working for podman if you prefer to do it that way.
The one thing that I feel is extremely wonky about podman is UIDs in rootless containers. But when I want to figure out what the UID a user has outside the container, I just mount an empty volume that has permissions 777, touch a file, then check the UID of that file outside the container.