this post was submitted on 03 Jun 2024
43 points (97.8% liked)

Selfhosted

40339 readers
623 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
43
submitted 5 months ago* (last edited 5 months ago) by [email protected] to c/selfhosted
 

Should I be learning docker compose instead of relying on dockStarter to manage my containers? I got portainer up, should I just use that to manage my stack?

I’m committed this summer to finally learning docker. I’m on day 3 and the last puzzle piece is being able to access qbittorrent locally while running the container through the vpn.

you are viewing a single comment's thread
view the rest of the comments
[–] peregus 9 points 5 months ago (1 children)

I would never deploy Compose in any kind of production environment.

May I ask you why?

[–] just_another_person 5 points 5 months ago (2 children)

Aside from the myriad issues it has on its own, the easiest answer is: it doesn't scale on multiple machines and instances.

Example: I have 10 services in a compose file, and I need each service to scale independently across multiple servers. Which is easier, more reproducible, and reliable: controlling the docker compose state across many instances, or communicating with a central management service with one command to do it all for me?

[–] [email protected] 6 points 5 months ago (1 children)

What you need then is swarm compose, that can run any service in global mode (in all nodes all the time) or scale mode.

[–] just_another_person 5 points 5 months ago (1 children)

No, then you're just orchestrating the service level stuff, and nothing else. Docker's tools will never compare to cluster scaling efforts where the entire horizontal layer to be scaled can be orchestrated from the instance up to containers.

[–] [email protected] 1 points 5 months ago (1 children)

not sure I understand you, in docker swarm your containers are started on n number of works from a single compose file on a manager. you can add any number of work nodes to scale your service as needed

[–] just_another_person 2 points 5 months ago* (last edited 5 months ago) (1 children)

N number of EXISTING nodes. Proper container orchestration platforms handle all the provisioning of instances, scaling of services, IAM...etc.

Docker Swarm (and all Docker tools) only handle...Docker.

Swarm is another thing I would never recommend in production.

[–] [email protected] 0 points 5 months ago (1 children)

That's not container orchestration, that's infrastructure orchestration. Depending on your use case docker swarm could just the right tool for the job.

You've been using Aws and they will happily let you add more nodes to your container runner of choice

[–] just_another_person 1 points 5 months ago

No, it's container orchestration. As-in "I orchestrate all the scaling needed to run and scale the containers".

[–] [email protected] 3 points 5 months ago (1 children)

Sure, but what you are describing is the problem that k8s solves.
I've run plenty of production things from docker compose. Auto scaling hasn't been a requirement, and HA was built into the application (so 2 separate VMs running the compose stack). Docker was perfect for it, and k8s would've been a sledgehammer.

[–] just_another_person 1 points 5 months ago

K8s isn't the only container orchestration platform out there, it's just what is the widely used flavor right now. Any of the micro clusters would still be better than the Docker tools, for a multitude of reasons, and if someone is learning about this right now, they might as well put the effort forth to get familiar.

I've never seen a large scale Compose or Swarm cluster, and wouldn't be working for a team who ran such things. Alternatives would also be: ECS (if on AWS), Openshift, Rancher, and most other cloud platforms have some form of their own that handles provisioning, as well is IAM/RBAC seamless integrations, and other networking integrations for whatever platform.