When comparing Docker Compose vs Nomad, the Slant community recommends Nomad for most people. In the question“What are the best Docker orchestration tools?” Nomad is ranked 3rd while Docker Compose is ranked 4th. The most important reason people chose Nomad is:
Being focused on one thing only also has its advantages. For one, Nomad is very simple architecturally. There's only a single binary for both clients and servers, it also does not need any external services for any coordination or storage.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy setup
All that's needed to setup a multi-container application with Compose is a single file configuration file. Finally the application can be spun up with only a single command.
Pro Great for local development
Docker-compose isn't really meant (yet) for distributed deployment, but using it to deploy a website locally for testing is awesome. You could use it, with care (like handling faults), on a single server as well.
Pro Simple, minimal architecture
Being focused on one thing only also has its advantages. For one, Nomad is very simple architecturally. There's only a single binary for both clients and servers, it also does not need any external services for any coordination or storage.
Pro Complex applications can easily be expressed through Nomad
Nomad uses a high-level abstraction of jobs. Jobs are essentially task groups (sets of tasks). Because of this, Nomad allows users to develop and manage complex applications easily, without having to think about the individual containers that make these applications.
Pro Easy to reason about
Nomad gives a lot of output and is intentionally kept simple. This makes maintenance easy and reduces downtimes.
Pro Big comapnies, like eBay and CircleCI use it
Cons
Con More geared towards development
No really made for production.
Con Not ready for production yet
While Compose is very good for staging servers, CI and development environments, it's still not ready for production and it's not recommended to be used in production yet.
Con Only provides cluster management and scheduling
While other orchestration tools provide much more than just cluster management and scheduling (they also provide things like secrets management, discovery, monitoring, etc.), Nomad follows the Unix philosophy of doing only one thing and doing it well, providing only cluster management and scheduling.