{"id":13563426,"url":"https://github.com/tonistiigi/binfmt","last_synced_at":"2026-02-19T10:10:14.123Z","repository":{"id":38329267,"uuid":"243668393","full_name":"tonistiigi/binfmt","owner":"tonistiigi","description":"Cross-platform emulator collection distributed with Docker images.","archived":false,"fork":false,"pushed_at":"2025-03-04T10:09:29.000Z","size":4397,"stargazers_count":1121,"open_issues_count":37,"forks_count":81,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-11T02:51:36.152Z","etag":null,"topics":["docker","qemu"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonistiigi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-28T03:16:08.000Z","updated_at":"2025-04-11T00:34:45.000Z","dependencies_parsed_at":"2023-11-30T19:30:35.479Z","dependency_job_id":"b2707bb6-ad9b-4bab-ab07-b9cd965e190e","html_url":"https://github.com/tonistiigi/binfmt","commit_stats":{"total_commits":175,"total_committers":17,"mean_commits":"10.294117647058824","dds":0.5028571428571429,"last_synced_commit":"aac5ab29a3f64ddd2c68fb21297c798758432730"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonistiigi%2Fbinfmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonistiigi%2Fbinfmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonistiigi%2Fbinfmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonistiigi%2Fbinfmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonistiigi","download_url":"https://codeload.github.com/tonistiigi/binfmt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092775,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","qemu"],"created_at":"2024-08-01T13:01:19.113Z","updated_at":"2026-02-19T10:10:14.093Z","avatar_url":"https://github.com/tonistiigi.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Binfmt\n\n[![GitHub release](https://img.shields.io/github/release/tonistiigi/binfmt.svg?style=flat-square)](https://github.com/tonistiigi/binfmt/releases/latest)\n[![CI Status](https://img.shields.io/github/actions/workflow/status/tonistiigi/binfmt/ci.yml?label=ci\u0026logo=github\u0026style=flat-square)](https://github.com/tonistiigi/binfmt/actions?query=workflow%3Aci)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tonistiigi/binfmt?style=flat-square)](https://goreportcard.com/report/github.com/tonistiigi/binfmt)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tonistiigi/binfmt.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tonistiigi/binfmt/)\n\nCross-platform emulator collection distributed with Docker images.\n\n## Build local binaries\n\n```bash\ndocker buildx bake\n```\n\nThis builds the qemu-user emulator binaries for your local plaform to the `bin` directory.\n\n## Build test image\n\n```bash\nREPO=myuser/binfmt docker buildx bake --load mainline\ndocker run --privileged --rm myuser/binfmt\n```\n\nPrints similar to:\n\n```\n{\n  \"supported\": [\n    \"linux/amd64\",\n    \"linux/arm64\",\n    \"linux/riscv64\",\n    \"linux/ppc64le\",\n    \"linux/s390x\",\n    \"linux/386\",\n    \"linux/arm/v7\",\n    \"linux/arm/v6\"\n  ],\n  \"emulators\": [\n    \"qemu-aarch64\",\n    \"qemu-arm\",\n    \"qemu-i386\",\n    \"qemu-ppc64le\",\n    \"qemu-riscv64\",\n    \"qemu-s390x\"\n  ]\n}\n```\n\n## Installing emulators\n\n```bash\ndocker run --privileged --rm tonistiigi/binfmt --install all\ndocker run --privileged --rm tonistiigi/binfmt --install arm64,riscv64,arm\n```\n\n## Installing emulators from Docker-Compose\n\n```docker\nversion: \"3\"\nservices:\n  emulator:\n    image: tonistiigi/binfmt\n    container_name: emulator\n    privileged: true\n    command: --install all\n    network_mode: bridge\n    restart: \"no\"\n```\nOnly use container `restart-policy` as `no`, otherwise docker will keep restarting the container.\n\n## Uninstalling emulators\n\n```bash\ndocker run --privileged --rm tonistiigi/binfmt --uninstall qemu-aarch64\n```\n\nEmulator names can be found from the status output.\n\nYou can also uninstall all archs for a specific emulator:\n\n```bash\ndocker run --privileged --rm tonistiigi/binfmt --uninstall qemu-*\n```\n\n## Display version\n\n```bash\ndocker run --privileged --rm tonistiigi/binfmt --version\n```\n```\nbinfmt/9a44d27 qemu/v6.0.0 go/1.15.11\n```\n\n## Development commands\n\n```bash\n# validate linter\n./hack/lint\n\n# validate vendored files\n./hack/validate-vendor\n\n# update vendored files\n./hack/update-vendor\n\n# test, only run on nodes where you allow emulators to be installed in kernel\n./hack/install-and-test\n```\n\n## Test current emulation support\n\n```\ndocker run --rm --platform linux/arm64 alpine uname -a\ndocker run --rm --platform linux/arm/v7 alpine uname -a\ndocker run --rm --platform linux/ppc64le alpine uname -a\ndocker run --rm --platform linux/s390x alpine uname -a\ndocker run --rm --platform linux/riscv64 alpine uname -a\n```\n\n## `buildkit` target\n\nThis repository also provides helper for BuildKit's automatic emulation support https://github.com/moby/buildkit/pull/1528.\nThese binaries are BuildKit specific and should not be installed in kernel with `binfmt_misc`.\n\n## Licenses\n\nMIT. See `LICENSE` for more details.\nFor QEMU see https://wiki.qemu.org/License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonistiigi%2Fbinfmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonistiigi%2Fbinfmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonistiigi%2Fbinfmt/lists"}