Detect supported architectures for docker containers
- Dominant language
- Go
- Stars
- 17k
- Forks
- 2.1k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 105
Description
### Proposal
I run a Nomad cluster with `amd64`, `arm64`, and `riscv64` nodes. If I try to use a docker image that only supports `amd64`, nomad will sometimes schedule it on one of the non-`amd64` nodes, which causes an `exec format error`. This can be fixed by manually adding a constraint for the CPU architecture. If possible, I'd like nomad to be able to automatically detect which platforms are supported by reading the manifest, and dynamically add constraints to the job based on that. The docker command allows you to inspect manifests using `docker manifest inspect --verbose `.
### Use-cases
This feature would simplify the process of running docker images on multi-architecture clusters
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository file or test is named in the issue. Start with the Docker manifest inspection command, `docker manifest inspect --verbose `, and trace how Docker image platforms reach Nomad scheduling; done means supported architectures are detected and jobs avoid nodes that would produce an exec format error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100