this post was submitted on 23 Jul 2023
151 points (96.9% liked)

Selfhosted

38768 readers
323 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 35 points 1 year ago (1 children)

Sounds like you, like a lot of others, have come to docker from the perspective of "it's like a mini virtual machine". Maybe you've used VMs before, like virtualbox or VMware or EC2. Maybe you have experience with setting up a cluster of VMs, each with their own OS, own SSH client, own suite of applications, and an overlay network between them all. Maybe someone told you "you should use docker instead, it's like mini lightweight VMs". And you'd be right to assume this is the wrong perspective to approach docker, because it leads to the problems you have faced.

Instead, try to think of docker containers as standalone applications. They don't contain a kernel, they don't have SSH, no Nano or VIM, just simply the Application, in a container, with enough supporting filesystem and OS libraries to make the application work.

That perspective is what helped me to get better at docker, I know it's not exactly answering your question, but it might help.

[–] [email protected] 13 points 1 year ago (1 children)

"like mini lightweight VMs"

That's exactly how I've approached it cause that's exactly how it was explained. But it's not at all like that. Thanks for your explanation.

[–] [email protected] 9 points 1 year ago (1 children)

Same, that's how it was explained to me too. It spent over a year learning docker the wrong way, and trying to use it as a replacement for VMs, after a coworker told me that.

[–] [email protected] 5 points 1 year ago

Heh I remember searching for an hour about how to see the GUI of a docker container when I was first getting into it. Didn't help that I was using windows to run docker, either, it's a whole other layer of abstraction.