build-push-action VS buildx

Compare build-push-action vs buildx and see what are their differences.

buildx

Docker CLI plugin for extended build capabilities with BuildKit (by docker)
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
build-push-action buildx
39 30
4,865 3,988
1.8% 1.3%
8.4 9.7
about 2 months ago 6 days ago
TypeScript 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.

build-push-action

Posts with mentions or reviews of build-push-action. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-02-20.
  • Fix InvalidParameterValueException for AWS Lambda docker images built by GitHub Actions
    1 project | dev.to | 31 Mar 2025
    Starting with version 4, docker/build-push-action builds images using the OCI format by default. OCI (Open Container Initiative) is the modern standard that is supported by AWS ECR. However, AWS Lambda does not support OCI image manifests. Lambda only accepts the older Docker v2 schema: application/vnd.docker.distribution.manifest.v2+json
  • Pull Request testing on Kubernetes: working with GitHub Actions and GKE
    4 projects | dev.to | 20 Feb 2025
    docker/build-push-action
  • 1minDocker #13 - Push, build and dockerize with GitHub Actions
    7 projects | dev.to | 23 Jan 2025
  • GitHub Linux ARM64 hosted runners now available for free in public repositories
    6 projects | news.ycombinator.com | 16 Jan 2025
    Does build-push-action solve this? I haven’t used their multi-arch configs but I was under the impression that it was pretty smooth.

    https://github.com/docker/build-push-action

  • How to Build Multi-Platform Executable Binaries in Node.js with SEA, Rollup, Docker, and GitHub
    5 projects | dev.to | 1 Dec 2024
    To publish images to Docker Hub, I use the docker/build-push-action@v6, where I specify:
  • GitHub Actions: Quickstart-Guide for every Developer!🚀
    2 projects | dev.to | 5 Nov 2024
    Docker Build and Publish:
  • Optimize Docker Builds with Cache Management in GitHub Actions
    2 projects | dev.to | 14 Oct 2024
    ## Local Cache This method leverages local storage for caching Docker layers. The downside is that old cache entries aren’t deleted automatically, so the cache size might increase over time. A temporary fix involves moving and cleaning the cache after each build. ```yaml //".github/workflows/build.yml" name: Docker Build on: push: jobs: docker: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 // highlight-start - name: Cache Docker layers uses: actions/cache@v4 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- // highlight-end - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ vars.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} // highlight-start - name: Build and push uses: docker/build-push-action@v6 with: push: true tags: user/app:latest cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max // highlight-end - # Temp fix # https://github.com/docker/build-push-action/issues/252 # https://github.com/moby/buildkit/issues/1896 name: Move cache run: | rm -rf /tmp/.buildx-cache mv /tmp/.buildx-cache-new /tmp/.buildx-cache
  • My HNG Journey. Stage Four: Mastering Multi-Environment Deployments: A Deep Dive into CI/CD with Next.js, Docker, and Nginx
    1 project | dev.to | 3 Aug 2024
    Configuring the GitHub Actions Workflow We set up a GitHub Actions workflow to automate the integration and deployment process. The integration workflow is triggered on every pull request while the deployment workflow was triggered upon the completion of the build and push workflow for docker images gotten from the marketplace. It used the appleboy/ssh-action to execute the deployment script on the server.
  • Continuous Deployment with GitHub Actions and Kamal
    4 projects | dev.to | 7 Jan 2024
    We use the docker/build-push-action to build the application image. In addition to setting the correct tag, the image build step must also provide a label matching your service name. Because the image should be pushed to your container registry, we set push: true, and because we want ludicrous build speed we instruct the build step to utilize the GitHub Actions cache.
  • Dockerize and Deploy a NodeJS Application to Cloud Run with GitHub Actions
    3 projects | dev.to | 5 Oct 2023
    name: Lint and Dockerize the app on: push: branches: [master] pull_request: branches: [master] env: # Use docker.io for Docker Hub if empty REGISTRY: docker.io # github.repository as / IMAGE_NAME: ${{ github.repository }} jobs: build: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Google Cloud uses: google-github-actions/[email protected] with: project_id: ${{ secrets.GCP_PROJECT_ID }} service_account_key: ${{ secrets.GCP_SA_KEY }} # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} # if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} # Extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action #- name: Extract Docker metadata # id: meta # uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 # with: # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # Build and push Docker image with Buildx (don't push on PR) # https://github.com/docker/build-push-action - name: Build and push Docker image uses: docker/build-push-action@v2 with: context: ./ tags: ${{ secrets.DOCKER_USERNAME }}/magga:latest push: true file: ./Dockerfile - name: Image digest run: echo

buildx

Posts with mentions or reviews of buildx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-10-27.
  • You run containers, not dockers - Discussing Docker variants, components and versioning
    9 projects | dev.to | 27 Oct 2024
    The client can also be SDK, although the SDKs are for the core Docker and not for the plugins like Buildx.
  • Docker and WSL2 without Docker Desktop
    2 projects | dev.to | 9 May 2024
    To install the newest builder, download the latest version of the buildxplugin by visiting https://github.com/docker/buildx/releases. Find the most recent release, go to the “Assets” section, and expand the list of assets. Download the file that ends with windows-amd64.exe, like buildx-v0.14.0.windows-amd64.exe. Place the downloaded file in the cli-plugins folder you created earlier, and rename it to docker-buildx.exe. Now, the command docker build will automatically use the new builder.
  • BuildKit in depth: Docker's build engine explained
    8 projects | news.ycombinator.com | 6 Feb 2024
    This is great! I’ve been waiting a long time for this and it seems like more debug features are in the pipeline too: https://github.com/docker/buildx/issues/1104

    Docs: https://docs.docker.com/engine/reference/commandline/buildx_...

  • Nx + NextJS + Docker - The Nx way: Creating the NextJS application
    6 projects | dev.to | 27 Jun 2023
    Container engine: Docker v23.0.4 | Buildx v0.10.4
  • Using Docker Buildx to Create Cross-Platform Docker Images for Seamless Compatibility
    1 project | dev.to | 14 May 2023
  • Cross-platform container images with buildx and colima
    2 projects | dev.to | 10 Apr 2023
    ARCH=amd64 # change to 'arm64' for M1 VERSION=v0.10.4 curl -LO https://github.com/docker/buildx/releases/download/${VERSION}/buildx-${VERSION}.darwin-${ARCH} mkdir -p ~/.docker/cli-plugins mv buildx-${VERSION}.darwin-${ARCH} ~/.docker/cli-plugins/docker-buildx chmod +x ~/.docker/cli-plugins/docker-buildx docker buildx version # verify installation
  • Help Downloading Buildx on Play-with-Docker Instance
    2 projects | /r/docker | 13 Mar 2023
    wget -O /tmp/docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/tag/v0.10.4/buildx-v0.10.4.linux-amd64
  • docker-ce upgrade broke my builds
    2 projects | /r/docker | 6 Feb 2023
    Your particular one looks somewhat like https://github.com/docker/buildx/issues/1595.
  • One Dockerfile is all it takes, falling in love with bake
    5 projects | dev.to | 16 Jan 2023
    Now, we have examples of the actual definitions for a single application’s docker container. Notice that we set the contexts key here which references the dependency targets we just defined. You can basically think of this like the depends_on block if you’ve used Terraform before. The args key let’s us populate the ARG variables in the Dockerfile. This is what is ultimately different between each of the containers. In the future, the buildx team might support using for_each loops like in Terraform but for now each block will have a bit of duplication.
  • Optimize your docker containers
    2 projects | dev.to | 21 Oct 2022
    Now as bonus we i will add how to use this techniques to build a multi arch build container. Maybe you have the same application but you need to run it in arm or riscv architecture. For this we can use the buildx plugin from docker https://github.com/docker/buildx.

What are some alternatives?

When comparing build-push-action and buildx you can also consider the following projects:

setup-buildx-action - GitHub Action to set up Docker Buildx

buildkit - concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

metadata-action - GitHub Action to extract metadata (tags, labels) from Git reference and GitHub events for Docker

aws-graviton-getting-started - Helping developers to use AWS Graviton2, Graviton3, and Graviton4 processors which power the 6th, 7th, and 8th generation of Amazon EC2 instances (C6g[d], M6g[d], R6g[d], T4g, X2gd, C6gn, I4g, Im4gn, Is4gen, G5g, C7g[d][n], M7g[d], R7g[d], R8g).

upload-artifact

ghaction-docker-meta - GitHub Action to extract metadata (tags, labels) for Docker [Moved to: https://github.com/docker/metadata-action]

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?