I am exploring using Docker for some components that are harder to package for the distro I'm using, or just outright more convenient to use that way.
I have explored Kubernetes but since I'll be doing this on a single node I think it's overkill - I won't need much of the stuff that k8s provides and the resource consumption going to be too much.
I am not sure of what options I have to manage docker containers otherwise. I am interested mainly in:
- managing lifecycle
- gathering logs
- understanding of inter-container dependencies (e.g. start db container first and then the app container )
I looked at Docker Compose but it's not meant for production environments. I also found some articles about running Docker containers using systemd but there seem to be a number of caveats there.
What options are there for lightweight docker container managmenent, especially for single nodes?
There is Dokku, which aims to be a Platform as a Service (PaaS) similar to Heroku, but self-hosted.
It features deployments via
git push
and can manage dependencies (e.g. databases)Logs are also collected.
I have never used it myself, but it seems like a stable and actively maintained software that fits your requirements.