Docker Community Forums

Share and learn in the Docker community.

Container management/orchestration on a single host

Hello! This is my first time on the forums, and I’m hoping that someone might be able to help with this problem!

I’m planning to run about 30 - 40 Docker services on a single host (a used workstation). These services are ultimately meant to run in production, and are not for development (i.e. we’re running these services in order to save money on hosting). I’m running Ubuntu 20.04

I plan to run 1 copy of WordPress + MariaDB, Bookstack + MariaDB, Nextcloud + MariaDB for about 10 groups (30 services, 60 containers), and about 10 admin services (NGINX reverse proxy, web analytics, redash, etc. etc.).

However, I’m not sure how to manage these 40 services, other than by wrangling 40 Docker Compose/Stacks scripts. Is Docker Swarm or some lightweight Kubernetes implementation a good idea?

Ideally, I would be able to test updates to all 40 services (by replicating the services and then updating one set? blue-green deployment?) without having to execute 40 commands. If possible, a GUI/web UI for managing all the services would be nice. Would, Shipyard/Portainer/DockStation be a good fit for this?

Container orchestration is the automatic process of managing or scheduling the work of individual containers for applications based on microservices within multiple clusters.
Main components of Kubernetes:
Cluster: A group of nodes, with at least one master node and several worker nodes.
Master: The machine that controls Kubernetes nodes. …
Kubelet: This service runs on nodes and reads the container manifests and ensures the defined containers are started and running.