When I try to use this action with following setup
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: linux/amd64,linux/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
platforms: "linux/amd64,linux/arm64"
- name: 'build image'
uses: docker/build-push-action@v6
with:
tags: ${{ env.ACR_REPO }}/actions-runner:${{ github.sha }}
platforms: "linux/amd64,linux/arm64"
context: provisioning/actions-runner
push: true
it does not work, error as follows:
...
2024-09-19T15:03:11.5041547Z ##[endgroup]
2024-09-19T15:03:11.5266721Z Warning: DOCKER_HOST environment variable overrides the active context. To use a context, either set the global --context flag, or unset DOCKER_HOST environment variable.
2024-09-19T15:03:11.5268399Z NAME DESCRIPTION DOCKER ENDPOINT ERROR
2024-09-19T15:03:11.5269541Z default * Current DOCKER_HOST based configuration unix:///home/runner/var/run/docker.sock
2024-09-19T15:03:11.5359192Z ##[group]Run docker/setup-qemu-action@v3
2024-09-19T15:03:11.5360057Z with:
2024-09-19T15:03:11.5360617Z platforms: linux/amd64,linux/arm64
2024-09-19T15:03:11.5361256Z image: docker.io/tonistiigi/binfmt:latest
2024-09-19T15:03:11.5361891Z env:
2024-09-19T15:03:13.8825239Z ##[group]Installing QEMU static binaries
2024-09-19T15:03:13.8826792Z [command]/usr/bin/docker run --rm --privileged docker.io/tonistiigi/binfmt:latest --install linux/amd64,linux/arm64
2024-09-19T15:03:14.0907721Z docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "sysfs" to rootfs at "/sys": mount sysfs:/sys (via /proc/self/fd/6), flags: 0xe: operation not permitted: unknown.
2024-09-19T15:03:14.0943497Z ##[endgroup]
2024-09-19T15:03:14.0987533Z ##[error]docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "sysfs" to rootfs at "/sys": mount sysfs:/sys (via /proc/self/fd/6), flags: 0xe: operation not permitted: unknown.
2024-09-19T15:03:14.1202103Z Post job cleanup.
2024-09-19T15:03:14.4331024Z [command]/usr/bin/docker logout cssacrstg.azurecr.io
2024-09-19T15:03:14.4473910Z Removing login credentials for cssacrstg.azurecr.io
2024-09-19T15:03:14.4525797Z ##[group]Post cache
2024-09-19T15:03:14.4526737Z State not set
2024-09-19T15:03:14.4528747Z ##[endgroup]
2024-09-19T15:03:19.4858605Z Post job cleanup.
...
I suspect the issue is because QEMU need some special setup in root-less mode (or it does not support it), I found related thread in runc - https://github.com/opencontainers/runc/issues/3672- however I wonder :
it its possible to run qemu/docker buildx with DinD root-less mode
Description
I am using github runners in root-less mode - set up like described here -
When I try to use this action with following setup
it does not work, error as follows:
...
Prepare
Error
I suspect the issue is because QEMU need some special setup in root-less mode (or it does not support it), I found related thread in runc - https://github.com/opencontainers/runc/issues/3672- however I wonder :