this post was submitted on 23 Jul 2023
156 points (97.0% liked)

Selfhosted

40439 readers
706 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 2 years 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] 8 points 1 year ago

It doesn’t make any sense to me from the perspective that I’ve approached it.

I think you've already identified the issue. Docker is pretty "simple", but you've got to approach it from the right angle or else it doesn't make sense. Apart from suggesting the official documentation I can't give you much advice on how to learn it because my path to understanding Docker was pretty much just trying things out and iterating on it. That said here's a tips that could help:

  • If you aren't using Docker Compose already, you really should. Just having your entire configuration for a service in a single file really helps.
  • Aside from debugging, you normally aren't meant to run commands manually in a container. It's best to act like every container is just a black box that simply does its thing.
  • If you need to edit config files, the easiest way is to just directly on the host if you're using bind mount volumes, or spin up a temporary container running Debian or Alpine for example that also has the Docker Volume mounted.

As @[email protected] has already mentioned, building your own images is also pretty helpful since it strips a lot of the "black magic" away and teaches you how to further "mod" existing images.