compose-spec VS compose-cli

Compare compose-spec vs compose-cli and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
compose-spec compose-cli
24 8
2,064 951
2.2% -
8.3 5.6
2 days ago 5 months ago
Dockerfile 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-spec

Posts with mentions or reviews of compose-spec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-30.
  • One Minute: Compose
    4 projects | dev.to | 30 Mar 2024
    Specification: https://compose-spec.io
  • Podman Desktop v1.5 with Compose onboarding and enhanced Kubernetes pod data
    11 projects | news.ycombinator.com | 3 Nov 2023
    https://github.com/compose-spec/compose-spec/blob/master/spe...
  • How “It works in my machine” turns to “It works in my container”
    1 project | news.ycombinator.com | 26 Jul 2023
    There are a number of incorrect statements in this post.

    1) One should neither be using the "latest" nor just the "version" tag as the version can still vary depending on when it is pulled.

    Instead, one should use a combination of version + hash, say alpine:3.18.2@sha256:82d1e9d7ed48a7523bdebc18cf6290bdb97b82302a8a9c27d4fe885949ea94d1 for reproducibility reasons. This provides for human readable versions as well as the specific hash.

    2) Next, afaik, Compose has removed the need for version tags. All of the compose.yml files that I now use do not specify versions.

    See https://github.com/compose-spec/compose-spec/blob/master/04-...

  • Telegraf Deployment Strategies with Docker Compose
    2 projects | dev.to | 21 Jul 2023
    Docker Compose v2 specifications provide a useful Secrets feature which may also be used for standalone Compose Application Stacks and not just in Docker Swarm mode. With Docker Secrets the environment variables that contain credentials for other subsystems are mounted into the Telegraf Container as files. These secret files are read through the Docker Secret Store plugin and passed to the respective plugins in a relatively safe manner. By using the Docker Secret Store Plugin, one can also avoid credentials that were previously visible via environment variables, to be now hidden behind runtime secret files within the container. Standard Method with Environment Variables As an example, it is possible to pass the credentials to a plugin via the environment variable placeholder in a telegraf configuration file where the credentials for a plugin exist in a .env file (e.g. MQTT input Plugin)
  • Some options missing for me.
    1 project | /r/Ombi | 13 Jun 2023
    also the docker-compose.yml file is very picky about what you have in it and where. Please read this so you know how to format it https://github.com/compose-spec/compose-spec/blob/master/spec.md
  • Persistent Volume Claim Volume Specific Options?
    2 projects | /r/podman | 4 Jun 2023
    As part my quadlet helper tool, podlet, I'm adding functionality to convert compose files into k8s yaml to use with quadlet as an alternative to creating a bunch of separate quadlet files, which I've also added functionality for. So I would like to be able to transform the options on compose volumes into k8s yaml. For example, using the volume.podman.io/driver annotation to change the volume driver for a specific volume if possible.
  • New Docker Goodies: Init and Watch
    3 projects | dev.to | 2 May 2023
    If you find this helpful feature, please leave your feedback and suggestions here.
  • When I create a docker-compose file to deploy multiple containers, do the different versions of each compose file matter?
    1 project | /r/docker | 12 Feb 2023
    The compose spec will give what you need. https://github.com/compose-spec/compose-spec/blob/master/spec.md
  • Why Does Everything Say Docker Compose is Deprecated / Dead?
    5 projects | /r/docker | 31 Aug 2022
    Indeed, as per the compose-spec a lot of what was version specific is going away
  • A compose file visualization tool that follows compose-spec and allows you to gernerate graph in several formats.
    2 projects | /r/docker | 27 May 2022
    Hello everyone, I just made a tool to visualize compose files, and all the parsing rules follow the [compose-spec](https://github.com/compose-spec/compose-spec/blob/master/spec.md). I hope this tool will help you :D

compose-cli

Posts with mentions or reviews of compose-cli. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-19.
  • Docker Compose's integration for ECS and ACI will be retired in November 2023
    2 projects | news.ycombinator.com | 19 May 2023
  • How can you add secrets to a dockerfile/image from AWS (Secret Manager)
    3 projects | /r/docker | 18 Nov 2022
  • Laravel Sail fails to build laravel.test
    1 project | /r/laravel | 5 Jun 2022
    ./vendor/bin/sail up [+] Building 3.1s (12/19) => [pgsql internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 53B 0.0s => [sail-8.1/app internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 2.90kB 0.0s => [pgsql internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [sail-8.1/app internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [pgsql internal] load metadata for docker.io/library/postgres:13 0.6s => [sail-8.1/app internal] load metadata for docker.io/library/ubuntu:22.04 0.6s => [sail-8.1/app 1/11] FROM docker.io/library/ubuntu:22.04@sha256:26c68657ccce2cb0a31b330cb0be2b5e108d467f641c62e13ab40cbec258c68d 0.0s => [sail-8.1/app internal] load build context 0.0s => => transferring context: 99B 0.0s => CACHED [sail-8.1/app 2/11] WORKDIR /var/www/html 0.0s => CACHED [sail-8.1/app 3/11] RUN ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone 0.0s => ERROR [sail-8.1/app 4/11] RUN apt-get update && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-b 2.3s => CANCELED [pgsql 1/1] FROM docker.io/library/postgres:13@sha256:a598b8679658e155020725d41601813cc8813429494514501e7f65f031774964 2.2s => => resolve docker.io/library/postgres:13@sha256:a598b8679658e155020725d41601813cc8813429494514501e7f65f031774964 0.0s => => sha256:bb3dc2277987facd2b87f470052aab8f2d711de7d6d1c3476e452ddc1b307b94 10.55kB / 10.55kB 0.0s => => sha256:3c2843bc312276d7727a3440a7859aba8e26d02b8e316fabd603f9ffde16ec64 4.41MB / 4.41MB 1.1s => => sha256:0f0e5d698cc992e9400095431b020bbcf3311b49c69b7c07894b0658c2fcb6b6 3.04kB / 3.04kB 0.0s => => sha256:42c077c10790d51b6f75c4eb895cbd4da37558f7215b39cbf64c46b288f89bda 6.29MB / 31.38MB 2.2s => => sha256:a598b8679658e155020725d41601813cc8813429494514501e7f65f031774964 1.86kB / 1.86kB 0.0s => => sha256:12e1d6a2dd60c450b07fb10db04f60661e405eda5a6c5465006e339de1435d07 1.80kB / 1.80kB 0.4s => => sha256:9ae1101c4068c2fd8afbad772d4ec67597e010675cd8a9034ab8b2f654eb54af 1.42MB / 1.42MB 1.4s => => sha256:fb05d2fd4701f1b1e68b35fbf314a6f8aa941d9220b4d1aa1ecbd27bf32ac22e 3.15MB / 8.05MB 2.2s => => sha256:9785a964a677ddc5a240e4c84288b8b03cb3245670f3e0d284e8af28a5538fb5 1.26MB / 1.26MB 2.1s => => sha256:16fc798b0e72ac0d79e975483867e0867888a0730438d55351d18d9d7ad38d43 0B / 149B 2.2s ------ > [sail-8.1/app 4/11] RUN apt-get update && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 && mkdir -p ~/.gnupg && chmod 600 ~/.gnupg && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf && echo "keyserver hkp://keyserver.ubuntu.com:80" >> ~/.gnupg/dirmngr.conf && gpg --recv-key 0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c && gpg --export 0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c > /usr/share/keyrings/ppa_ondrej_php.gpg && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ppa_ondrej_php.list && apt-get update && apt-get install -y php8.1-cli php8.1-dev php8.1-pgsql php8.1-sqlite3 php8.1-gd php8.1-curl php8.1-imap php8.1-mysql php8.1-mbstring php8.1-xml php8.1-zip php8.1-bcmath php8.1-soap php8.1-intl php8.1-readline php8.1-ldap php8.1-msgpack php8.1-igbinary php8.1-redis php8.1-swoole php8.1-memcached php8.1-pcov php8.1-xdebug && php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer && curl -sLS https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && npm install -g npm && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /usr/share/keyrings/yarn.gpg >/dev/null && echo "deb [signed-by=/usr/share/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/pgdg.gpg >/dev/null && echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list && apt-get update && apt-get install -y yarn && apt-get install -y mysql-client && apt-get install -y postgresql-client-14 && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*: #10 0.776 Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB] #10 0.847 Get:2 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB] #10 1.252 Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [109 kB] #10 1.305 Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB] #10 1.392 Err:1 http://security.ubuntu.com/ubuntu jammy-security InRelease #10 1.392 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 1.691 Err:2 http://archive.ubuntu.com/ubuntu jammy InRelease #10 1.691 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 1.900 Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease #10 1.900 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.138 Err:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease #10 2.138 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.142 Reading package lists... #10 2.165 W: http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: GPG error: http://security.ubuntu.com/ubuntu jammy-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.165 E: The repository 'http://security.ubuntu.com/ubuntu jammy-security InRelease' is not signed. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: GPG error: http://archive.ubuntu.com/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.165 E: The repository 'http://archive.ubuntu.com/ubuntu jammy InRelease' is not signed. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: GPG error: http://archive.ubuntu.com/ubuntu jammy-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.165 E: The repository 'http://archive.ubuntu.com/ubuntu jammy-updates InRelease' is not signed. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease: The key(s) in the keyring /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key. #10 2.165 W: GPG error: http://archive.ubuntu.com/ubuntu jammy-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C #10 2.165 E: The repository 'http://archive.ubuntu.com/ubuntu jammy-backports InRelease' is not signed. #10 2.165 E: Problem executing scripts APT::Update::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true' #10 2.165 E: Sub-process returned an error code ------ The new 'docker compose' command is currently experimental. To provide feedback or request new features please open issues at https://github.com/docker/compose-cli failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apt-get update && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 && mkdir -p ~/.gnupg && chmod 600 ~/.gnupg && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf && echo "keyserver hkp://keyserver.ubuntu.com:80" >> ~/.gnupg/dirmngr.conf && gpg --recv-key 0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c && gpg --export 0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c > /usr/share/keyrings/ppa_ondrej_php.gpg && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ppa_ondrej_php.list && apt-get update && apt-get install -y php8.1-cli php8.1-dev php8.1-pgsql php8.1-sqlite3 php8.1-gd php8.1-curl php8.1-imap php8.1-mysql php8.1-mbstring php8.1-xml php8.1-zip php8.1-bcmath php8.1-soap php8.1-intl php8.1-readline php8.1-ldap php8.1-msgpack php8.1-igbinary php8.1-redis php8.1-swoole php8.1-memcached php8.1-pcov php8.1-xdebug && php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer && curl -sLS https://deb.nodesource.com/setup_$NODE_VERSION.x | bash - && apt-get install -y nodejs && npm install -g npm && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /usr/share/keyrings/yarn.gpg >/dev/null && echo "deb [signed-by=/usr/share/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/pgdg.gpg >/dev/null && echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list && apt-get update && apt-get install -y yarn && apt-get install -y mysql-client && apt-get install -y postgresql-client-$POSTGRES_VERSION && apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*]: exit code: 100
  • Podman 4.0.0
    15 projects | news.ycombinator.com | 22 Feb 2022
    `docker-compose` is different from `docker compose` (with a space in between words).

    The former will be replaced by the latter in the long run.

    https://github.com/docker/compose-cli/issues/901#issuecommen...

  • How can I make the Docker Compose ECS context use EC2 rather than Fargate?
    1 project | /r/aws | 17 Nov 2021
    here
  • Docker Compose V2 available on Fedora (Docker AWS ECS plugin) ?
    3 projects | /r/Fedora | 9 Oct 2021
  • Docker Compose vs Docker-Compose
    2 projects | /r/docker | 7 Apr 2021
    One of the goal of this new version is to be able to plug different backends like AWS ECS or Microsoft ACI. See https://github.com/docker/compose-cli. So you can docker compose and your stack is deployed on ECS instead of your local machine.
  • New Portainer CE 2.0.1 Release
    2 projects | /r/docker | 7 Jan 2021
    https://github.com/docker/compose-cli ?

What are some alternatives?

When comparing compose-spec and compose-cli you can also consider the following projects:

docker-pi-hole - Pi-hole in a docker container

podman-desktop-companion - Podman desktop companion

psutil - Cross-platform lib for process and system monitoring in Python

cri-dockerd - dockerd as a compliant Container Runtime Interface for Kubernetes

pexpect - A Python module for controlling interactive programs in a pseudo-terminal

Yacht - A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.

SaltStack - Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

docker-ce - :warning: This repository is deprecated and will be archived (Docker CE itself is NOT deprecated) see the https://github.com/docker/docker-ce/blob/master/README.md :warning:

Fabtools - Tools for writing awesome Fabric files

fargate - Deploy serverless containers to the cloud from your command line

Docker Compose - Define and run multi-container applications with Docker

ecsk - CLI tool that you can interactively call Amazon ECS APIs (run-task, execute-command, stop-task), copy files between ECS and local, and view logs.