Docker Compose VS Nomad

Compare Docker Compose vs Nomad and see what are their differences.

Docker Compose

Define and run multi-container applications with Docker (by docker)

Nomad

Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations. (by hashicorp)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
Docker Compose Nomad
141 35
24,650 10,446
1.7% 1.8%
9.6 9.9
8 days ago 6 days ago
Go Go
Apache License 2.0 Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Docker Compose

Posts with mentions or reviews of Docker Compose. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-15.
  • Docker & Docker-compose installation with ansible playbook doesn't work
    2 projects | reddit.com/r/ansible | 15 Jan 2022
    docker_required_packages: - "apt-transport-https" - "ca-certificates" - "curl" - "gnupg-agent" - "software-properties-common" - "python3-pip" - "python3-setuptools" docker_gpg_url: https://download.docker.com/linux/ubuntu/gpg docker_repo: deb https://download.docker.com/linux/ubuntu focal stable docker_packges: - "docker-ce" - "docker-ce-cli" - "containerd.io" docker_compose_url: https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 ```
  • containerize redwood sides with docker compose
    5 projects | dev.to | 14 Jan 2022
    Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. You can create and start all your services with a single command.
  • Docker, Postgres, Node, Typescript Setup
    3 projects | dev.to | 9 Jan 2022
    When creating applications that use multiple containers, it is best to use Docker Compose to configure them.
  • Question about software compiled for different architectures
    2 projects | reddit.com/r/linuxquestions | 5 Jan 2022
    Well, it isn't Pi-Hole exactly, it's docker-compose that I'm looking at.
  • Dockers?
    1 project | reddit.com/r/synology | 5 Jan 2022
    It's worth checking out docker-compose as it allows to keep the configuration of containers in a file. Often, projects already provide a compose file helping with an super easy and convenient setup.
  • Best way to create a global environment variable?
    1 project | reddit.com/r/linuxquestions | 3 Jan 2022
    I'm not quite sure if I'm using the correct terminology by calling it a "global environment variable," but what I'm trying to do is to get docker-compose working on my Raspberry Pi4. However, the releases don't have a precompiled linux version for ARMv8. Therefore, I figured that I would try compiling it from source. Here's what I've done so far: $ wget https://github.com/docker/compose/archive/refs/tags/v2.2.2.tar.gz` $ tar -xf v2.2.2.tar.gz $ cd compose-2.2.2 $ ./configure $ sudo ln -s /home//docker/compose-2.2.2/bin/docker-compose /usr/bin/docker-container I now have a file called docker-container which I can run with ./docker-container. However, it's only executable when I'm already in /usr/bin/ and I'd like to be able to run it anywhere.
  • Ruby on Rails Development using Docker
    2 projects | dev.to | 31 Dec 2021
  • How to setup your own mining node using Ubuntu 20.04.3
    3 projects | reddit.com/r/kadena | 28 Dec 2021
    $ curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
  • Help setup a server
    1 project | reddit.com/r/seedboxes | 23 Dec 2021
    Docker is a platform which allows applications to be packaged into containers. Containers are isolated from each other. They also usually include the necessary libraries and configuration files to run an application. For example, there is an rTorrent/ruTorrent docker container which includes a preconfigured rTorrent instance and web server (such as nginx/apache) for accessing ruTorrent. All packaged into one container for easy deployment and configuration through the docker command line interface or docker compose.
  • Docker for Javascript Developers
    8 projects | dev.to | 22 Dec 2021
    For a brief intro to compose see here, and for more details than you can ever handle about the compose file spec see here.

Nomad

Posts with mentions or reviews of Nomad. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-02.
  • What you gonna add to your selfhost stack this year?
    18 projects | reddit.com/r/selfhosted | 2 Jan 2022
    Must be hashicorp's nomad: https://www.nomadproject.io/
    18 projects | reddit.com/r/selfhosted | 2 Jan 2022
  • My Setup for Self-Hosting Dozens of Web Applications + Services on a Single Server
    3 projects | reddit.com/r/selfhosted | 31 Dec 2021
  • Kubernetes at Home with K3s
    5 projects | news.ycombinator.com | 5 Dec 2021
    That's a false statement as far as the technical aspects are concerned (Swarm is still usable and supported), but is a true statement when you look at the social aspects (Kubernetes won the container wars and now even Nomad is uncommon to run into).

    Right now the company i'm in uses Swarm in a lot of places due to its simplicity (Compose file support) and low resource usage - Swarm hits the sweet spot when it comes to getting started with container orchestration and doing so without needing multiple people to wrangle the technical complexity of Kubernetes, or large VMs to deal with its resource usage, at least in on prem environments.

    In combination with Portainer (https://www.portainer.io/) it's perhaps one of the best ways to get things done, when you expect everything to just work and aren't doing something too advanced (think along the lines of 10 servers, rather than 100, which is probably most of the deployments out there).

    I actually wrote about some of its advantages in my blog post, "Docker Swarm over Kubernetes": https://blog.kronis.dev/articles/docker-swarm-over-kubernete...

    That said, if there are any good options to replace Swarm, it has to either be Hashicorp Nomad (https://www.nomadproject.io/) which is a really nice platform, especially when coupled with Consul (https://www.consul.io/), as long as you can get past the weirdness of HCL. Alternatively, it has to be K3s (https://k3s.io/), which gives you Kubernetes without the insane bloat and hardware usage.

    I actually benchmarked K3s against Docker Swarm in similar app deployments: 1 leader server, 2 follower servers, running a Ruby on Rails app and an ingress, while they're under load testing by K6 (https://k6.io/). I was attempting to see whether COVID contract tracking with GPS would be viable as far as the system load goes in languages with high abstraction level, here's more info about that: https://blog.kronis.dev/articles/covid-19-contact-tracing-wi...

    Honestly, the results were pretty close - on the follower servers, the overhead of the orchestrator agents were a few percent (K3s being heavier, but a few dozen MB here or there not being too relevant), whereas the bigger differences were in the leader components, where K3s was heavier almost by a factor of two, which isn't too much when you consider how lightweight Swarm is (there was a difference of a few hundred MB) and the CPU usage was reasonably close in both of the cases as well. Sadly, the text of the paper is in Latvian, so it's probably of no use to anyone, but i advise you to do your own benchmarks! Being a student, i couldn't afford many servers then, so it's probably a good idea to benchmark those with more servers.

    Of note, on those VPSes (4 GB of RAM, single core), the full Kubernetes wouldn't even start, whereas at work, trying to get the resources for also running Rancher on top of a "full" Kubernetes cluster (e.g. RKE) can also take needlessly long due to the backlash from ops. Also, personally i find the Compose syntax to be far easier to deal with, rather than the amalgamation that Kubernetes uses, Helm probably shouldn't even be a thing if the deployment descriptors weren't so bloated. Just look at this: https://docs.docker.com/compose/compose-file/compose-file-v3...

    In short:

      - Docker Swarm is pretty good when you're starting out with containers and is reasonably stable and easy to use
  • Creating GCP disk images with (for?) TerraForm
    1 project | reddit.com/r/devops | 23 Nov 2021
    Also if you don’t want to look at kube then check out Nomad. https://www.nomadproject.io/
  • Is cloud native getting a bit too complex?
    1 project | reddit.com/r/sre | 10 Nov 2021
    Hahaha sure: https://www.nomadproject.io it’s by HashiCorp.
  • De docker para Kubernetes
    1 project | reddit.com/r/devpt | 4 Nov 2021
  • An Update on Our Outage
    3 projects | news.ycombinator.com | 31 Oct 2021
  • Creating my personal cloud with HashiCorp
    6 projects | news.ycombinator.com | 30 Oct 2021
    Yeah, this pains me too. Here's a relevant issue to keep an eye on:

    https://github.com/hashicorp/nomad/issues/3854

    I've used an nginx-based S3 proxy in the past to get around this. Not ideal but it works.

  • Datadog Reveals Hidden AWS Performance Problems
    2 projects | dev.to | 25 Oct 2021
    At Lob, we currently use Convox as our deployment platform, a “roll your own Platform-as-a-Service” that you can install to handle container orchestration on AWS’s ECS (Elastic Container Service). Convox is showing its age and this year we began the process of replacing Convox with HashiCorp’s Nomad, a flexible workload orchestrator to deploy and manage our containers on AWS.

What are some alternatives?

When comparing Docker Compose and Nomad you can also consider the following projects:

supervisor - Supervisor process control system for UNIX

k3s - Lightweight Kubernetes

Rundeck - Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts

LibreNMS-docker - LibreNMS Docker image based on Alpine Linux and Nginx

Portainer - Making Docker and Kubernetes management easy.

Dokku - A docker-powered PaaS that helps you build and manage the lifecycle of applications

Cloud-Init - unofficial mirror of Ubuntu's cloud-init

Dkron - Dkron - Distributed, fault tolerant job scheduling system https://dkron.io

docker-cloudflared - Cloudflared proxy-dns Docker image based on Alpine Linux

docker-transmission-openvpn - Docker container running Transmission torrent client with WebUI over an OpenVPN tunnel

dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.