Skip to content

Support cache tonistiigi/binfmt docker images #166

@seepine

Description

@seepine

Description

I use gitea actions of self runner, it pull tonistiigi/binfmt:latest every times.
My network environment is not very good, sometimes pulling Docker images will time out.
So it maybe resolve my problem that if setup-qemu-action can cache pull docker image.

::endgroup::
::group::Pulling binfmt Docker image
[command]/usr/bin/docker pull tonistiigi/binfmt:latest
Error response from daemon: Head "https://registry-1.docker.io/v2/tonistiigi/binfmt/manifests/latest": dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: read udp 127.0.0.1:37372->127.0.0.53:53: i/o timeout
::endgroup::
::error::The process '/usr/bin/docker' failed with exit code 1

My workflow yml

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2

      - name: Set up Docker BuildX
        uses: docker/setup-buildx-action@v2

      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          registry: ${{ env.DOCKER_REGISTRY }}
          username: ${{ env.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Cache docker build
        uses: actions/cache@v3
        with:
          path: /opt/docker-cache/.build-cache
          key: ${{ runner.os }}-${{ steps.meta.outputs.REPO_NAME }}-docker-build-cache

      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          file: ./docker/Dockerfile
          platforms: |
            linux/amd64
            linux/arm64
          push: true
          tags: |
            ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/${{ env.REPO_NAME }}:latest
            ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/${{ env.REPO_NAME }}:${{ env.REPO_VERSION }}
          cache-from: type=local,src=/opt/docker-cache/.build-cache
          cache-to: type=local,dest=/opt/docker-cache/.build-cache,mode=max

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions