compose-cli VS buildkit

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

compose-cli

Easily run your Compose application to the cloud with compose-cli (by docker)

buildkit

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit (by moby)
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-cli buildkit
8 53
951 7,686
- 1.0%
5.6 9.8
5 months ago 2 days 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-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 ?

buildkit

Posts with mentions or reviews of buildkit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-03.
  • ARM vs x86 em Docker
    1 project | dev.to | 5 Apr 2024
  • The worst thing about Jenkins is that it works
    12 projects | news.ycombinator.com | 3 Dec 2023
    > We are uding docker-in-docker at the moment

    You can also run a "less privileged" container with all the features of Docker by using rootless buildkit in Kubernetes. Here are some examples:

    https://github.com/moby/buildkit/tree/master/examples/kubern...

    https://github.com/moby/buildkit/blob/master/examples/kubern...

    It's also possible to run dedicated buildkitd workers and connect to them remotely.

  • Show HN: Dockerfile Explorer
    1 project | news.ycombinator.com | 28 Nov 2023
    - BuildOp evaluates its input as additional LLB operations to add to the graph to allow for dynamic build graphs (also unused in the Dockerfile frontend)

    With the Dockerfile Explorer, we run the Dockerfile frontend[1] that BuildKit uses inside of WASM to parse and produce the LLB output locally in your browser. We then embed the Monaco Editor so that you can change your Dockerfile to see how it impacts the LLB output that BuildKit will use to build your Docker image.

    You can see a quick video and read more details on how it all works here: https://depot.dev/blog/dockerfile-explorer.

    We'd love any feedback or ideas folks would like around this type of tool!

    [0] https://github.com/moby/buildkit#exploring-llb

  • macOS Containers v0.0.1
    24 projects | news.ycombinator.com | 26 Sep 2023
  • Jenkins Agents On Kubernetes
    7 projects | dev.to | 4 Sep 2023
    Now since Kubernetes works off of containerd I'll be taking a different approach on handling container builds by using nerdctl and the buildkit that comes bundled with it. I'll do this on the amd64 control plane node since it's beefier than my Raspberry Pi workers for handling builds and build related services. Go ahead and download and unpack the latest nerdctl release as of writing (make sure to check the release page in case there's a new one):
  • Frequent Docker BuildKit cache misses with w/ multi-stage and docker-container
    1 project | /r/docker | 11 Jul 2023
    There's a 2-year-old moby/buildkit GitHub issue about frequent build cache misses when using the BuildKit docker-container driver and multi-stage builds. Anyone else in this sub run into this problem and/or have reasonable workarounds? It seems like something that should come up pretty often.
  • A Panic in BuildKit: an Open Source Journey
    1 project | /r/golang | 4 Jul 2023
    A couple months ago I encountered a bug in buildkit - when enabling OpenTelemetry tracing, we got occasional panics. With a bit of investigation, we found the cause, fixed and tested in our fork and internal deployments, and pushed to upstream.
  • Is it possible to copy files from a manifest in Dockerfile?
    1 project | /r/docker | 11 May 2023
    I do some search in the internet and there seems to be no good solution, so I just create a feature request: https://github.com/moby/buildkit/issues/3859
  • Cicada - CI/CD platform written with Rust
    2 projects | /r/rust | 25 Apr 2023
    Yeah, only Linux containers at the moment, BuildKit is the way we are constructing pipelines and doing caching. Split on if we will support non-linux hosts, but definitely want to find a good solution to not doing Docker-in-Docker.
  • Better support of Docker layer caching in Cargo
    2 projects | /r/rust | 30 Mar 2023
    Relevant issues are https://github.com/moby/buildkit/issues/3011 and https://github.com/moby/buildkit/issues/1512.

What are some alternatives?

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

podman-desktop-companion - Podman desktop companion

buildah - A tool that facilitates building OCI images.

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

kaniko - Build Container Images In Kubernetes

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.

jib - 🏗 Build container images for your Java applications.

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:

buildx - Docker CLI plugin for extended build capabilities with BuildKit

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

podman - Podman: A tool for managing OCI containers and pods.

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.

nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...