compose-on-kubernetes VS Docker Compose

Compare compose-on-kubernetes vs Docker Compose and see what are their differences.

compose-on-kubernetes

Deploy applications described in Compose onto Kubernetes clusters (by docker)

Docker Compose

Define and run multi-container applications with Docker (by docker)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
compose-on-kubernetes Docker Compose
2 381
1,413 32,150
- 1.5%
1.2 9.6
about 3 years ago about 19 hours ago
Go Go
Apache License 2.0 Apache 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.

compose-on-kubernetes

Posts with mentions or reviews of compose-on-kubernetes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-03.
  • why was Compose on Kubernetes discontinued ! what to use instead !
    4 projects | /r/kubernetes | 3 May 2022
    enjoy the title says, https://github.com/docker/compose-on-kubernetes is no longer maintained, with no explanation why and no recommendations on what to use instead. i've briefly looked at Kompose as an alternative, but i don't like how it's a converter. i'd prefer the source of truth to exist inside a single, simple‏‏‎‏‏‎‏‏‎‏‏‎­YAML file, like a docker-compose file. what would you recommend?
  • Best Practices Around Creating Production Ready Web Apps with Docker Compose
    2 projects | news.ycombinator.com | 1 Jun 2021
    https://github.com/docker/compose-on-kubernetes looks dead now, maybe for misguided political reasons while they remain in denial that swarm might compete? But it's too bad, there's no reason some k8s api/operator thing can't make this frictionless.

    Still, someone already mentioned docker-desktop having some tricks for deploying straight to aws and [there is definitely a way to do this with ecs](https://aws.amazon.com/blogs/containers/deploy-applications-...). There's also tools like kompose which translate configs automatically and are suitable for use in a pipeline, so the only thing you need is a compose file in version control.

    So yes, you can still basically use compose in production, even on a non-swarm cluster, and it's fine. A lot of people that push back against this are perhaps just invested in their own mad kubectl'ing and endless wrangling with esoteric templates and want to push all this on their teammates. From what I've seen, that's often to the detriment of local development experience and budgeting, because if even your dev environment always requires EKS, that gets expensive. (Using external/managed databases is always a good idea, but beside the main point here I think. You can do that or not with or without docker-compose or helm packages or whatever, and you can even do that for otherwise totally local development on a shared db cluster if you design things for multi-tenant)

    At this point I'll face facts that the simple myth here (docker-compose is merely a toy) is winning out over the reality (docker-compose is partly a tool but isn't a platform, and it's just a format/description language). But consider.. pure k8s, k8s-helm, ECS cloudformation, k8s-terraforming over EKS, and docker-compose all have pretty stable schemas that require almost all the same data and any one of them could pretty reasonably be considered as a lingua-franca that you could build the other specs from (even programmatically).

    From this point of view there's an argument that for lots of simple yet serious projects, docker-compose should win by default because it is at the bottom of the complexity ladder. It's almost exactly the minimal usable subset of the abstract description language we're working with, and one that's easy to onboard with and requires the least dependencies to actually run. For example: even without kompose it's trivial to automate pulling data out of the canonical docker-compose yaml and injecting that into terraform as part of CD pipeline for your containers on EKS; then you keep options for local-developer experience open and you're maintaining a central source of truth for common config so that your config/platform is not diverging more than it has to.

    I'm an architect who works closely with ops, and in many ways not a huge fan of docker-compose. But I like self-service and you-ship-it-you-run it kinds of things that are essential for scaling orgs. So for simple stuff I'd rather just use compose as the main single-source-of-truth than answer endless bootstrappy questions about k8s or ECS if I'm working with others who don't have my depth of knowledge. (Obviously compose has been popular for a reason, which is that kubernetes really is still too complicated for a lot of people and use-cases.) Don't like these ready-made options for compose-on-ECS, or compose-to-k8s via kompose? Ok, just give me your working docker-compose and I'll find a way to deploy it to any other new weird platform, and if I need some pull-values/place-values/render-template song and dance with one more weird DSL for one more weird target deployment platform, then so be it. I've often found the alternative here is a lot of junior devs deciding that deployment/dev-bootstrap is just too confusing, their team doesn't help them and pushes them to an external cloud-engineering team who doesn't want to explain this again because there's docs and 10 examples that went unfollowed, so then junior devs just code without testing it all until they have to when QA is broken. Sometimes the whole org is junior devs in the sense that they have zero existing familiarity with docker, much less kubernetes! Keep things as simple as possible, no simpler.

    Seen this argument a million times, and no doubt platform choices are important but even pivoting on platforms is surprisingly easy these days. When you consider that compose is not itself a platform but just basically a subset of a wider description language, this all starts to seem a bit like a json vs yaml debate. If you need comments and anchors, then you want yaml. If you need serious packaging/dependencies of a bunch of related microservices, and a bunch of nontrivial JIT value lookup/rendering, then you want helm. But beyond org/situation specific considerations like this, the difference doesn't matter much. My main take-away lately is that leadership needs to actually decide/enforce where the org will stand on topics like "local development workflows"; it's crazy to have a team divided where half is saying "we develop on laptops with docker-compose" and half is saying "we expect to deploy to EKS in the dev environment". In that circumstance you just double your footprint of junk to support and because everyone wants to be perfectly pleased, everyone is annoyed.

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 2024-03-13.
  • How to Set Up a Docker Container
    3 projects | dev.to | 13 Mar 2024
    This foundation now opens the door to even more powerful concepts. You can explore more advanced concepts such as container networking, streamlining the management of complex applications with Docker Compose, and how to make your application data persistent using volumes.
  • How to Dockerise a NodeJS - TypeScript API || A Comprehensive Guide from Environment Setup to Deployment with a CI/CD Pipeline
    5 projects | dev.to | 18 Jan 2024
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • Build and Deploy a ReactJS App to AWS EC2 with Docker, NGINX, and Automate with GitHub Actions.
    5 projects | dev.to | 5 Jan 2024
    [ec2-user]$ sudo yum update -y [ec2-user]$ sudo yum install -y docker [ec2-user]$ sudo service docker start [ec2-user]$ sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose [ec2-user]$ sudo chmod +x /usr/local/bin/docker-compose [ec2-user]$ docker --version Docker version 20.10.23, build 7155243 [ec2-user]$ docker-compose --version Docker Compose version v2.18.1
  • MongoDB on Your Local Machine Using Docker: A Step-by-Step Guide
    2 projects | dev.to | 1 Jan 2024
    Docker Compose Documentation
  • Docker - Setup a local JS and Python Development environment (Part 2)
    2 projects | dev.to | 31 Dec 2023
    groupadd -g 997 docker gpasswd -a jenkins docker curl -L https://github.com/docker/compose/releases/tag/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #confirm the docker-compose is installed docker-compose version
  • Docker - Setup a local JS and Python Development environment
    3 projects | dev.to | 2 Dec 2023
    Now that we have our basic script to run the Node application, we'll create our base image. This time we will not be using the Dockerfile as we did earlier with the Python environment, but we will pull directly from the Docker Hub registry. Because we have multi-container services, it's best to orchestrate our services from a single file rather than building the services individually from a Dockerfile, which could be a daunting task if we need to build many services. Therefore, spinning up our Node containers with Docker Compose can be pretty handy in these situations. Note that Docker compose does not replace Dockerfile. Rather, the latter is part of a process to build Docker images, which are part of containers. Docker Compose allows us to operate the Node app alongside other services (assuming we have many services we need to spin up). In our case, it will be alongside our py service.
  • Jump into Microservices Testing with Docker Compose and Skyramp
    3 projects | dev.to | 30 Nov 2023
    My previous blog posts have focused on the array of options Skyramp provides for testing distributed applications deployed to Kubernetes clusters. However, Kubernetes is not required to reap the benefits of using Skyramp for test automation. You can also setup and deploy your system-under-test using Docker Compose. In this article, we'll explore how you can leverage Skyramp in conjunction with Docker Compose to streamline your microservices testing process.
  • Adding Dockerfiles to Open-Source Projects
    6 projects | dev.to | 23 Nov 2023
    From the official documentation,
  • New computer? Install THIS first... 💻
    2 projects | dev.to | 23 Nov 2023
    Create a separate environment with several services working together, using Docker Compose
  • Monitoring symfony messenger listening to the worker events
    4 projects | dev.to | 12 Nov 2023
    Docker and docker compose: We will use docker as a container manager and docker-compose as a tool to configure and start a redis container. If you have not used them so far, refer to the links to install them.

What are some alternatives?

When comparing compose-on-kubernetes and Docker Compose you can also consider the following projects:

supervisor - Supervisor process control system for Unix (supervisord)

LibreNMS-docker - LibreNMS Docker image

terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

Portainer - Making Docker and Kubernetes management easy.

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

k3s - Lightweight Kubernetes

docker-cloudflared - Cloudflared proxy-dns Docker image

portainer-templates - Various Portainer App Templates

acme-companion - Automated ACME SSL certificate generation for nginx-proxy

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.

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

n8n-docs - Documentation for n8n, a fair-code licensed automation tool with a free community edition and powerful enterprise options. Build AI functionality into your workflows.