Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify multi-arch tags #524

Closed
billinghamj opened this issue Jan 18, 2021 · 4 comments · Fixed by #566
Closed

Unify multi-arch tags #524

billinghamj opened this issue Jan 18, 2021 · 4 comments · Fixed by #566

Comments

@billinghamj
Copy link

Hi,

Please could you use manifests to provide a single tag name for all supported architectures? This allows our mixed-arch k8s cluster to automatically pull the correct image for each node.

I notice some previous bits relating to this have been closed, but Docker Hub does support buildx manifests - they show it being used in their own blog post: https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

@cosmo0920
Copy link
Contributor

I notice some previous bits relating to this have been closed, but Docker Hub does support buildx manifests - they show it being used in their own blog post: https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

Their blog post does not show that DockerHub supports docker buildx.
That blog post uses GitHub Actions to run docker buildx building not for DockerHub.

@fert-f
Copy link

fert-f commented Jan 28, 2021

To build manifest list you can use following docker commands.

docker manifest create x --amend y --amend z
docker manifest push x

It's a real lame sauce to to use Node Selector for each node type.

@mattparkes
Copy link

We're moving towards a mixed architecture platform and this would be a big help. We've done it for our internal apps and as fert-f said, it's little more than adding amd64 to your AMD64 image names (to distinguish them from the manifest) and then:

docker manifest create fluent/fluentd-kubernetes-daemonset:v1.12.0-debian-kafka2-1.0 fluent/fluentd-kubernetes-daemonset:v1.12.0-debian-kafka2-amd64-1.0 fluent/fluentd-kubernetes-daemonset:v1.12.0-debian-kafka2-arm64-1.0

docker manifest push fluent/fluentd-kubernetes-daemonset:v1.12.0-debian-kafka2-1.0

Instead we have to faff about with NodeSelectors and/or Affinity just to achieve this.

@Capitrium
Copy link
Contributor

@cosmo0920 It seems like docker manifest support isn't required to create multi-arch images/manifest lists in DockerHub builds, manifest-tool can be used instead; I took a shot at implementing it in #566 so hopefully it does the trick, it would be great to simplify deployments to clusters using multiple architectures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants