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

Combining static tarball and default cli-plugins #618

Closed
tonistiigi opened this issue Jan 11, 2022 · 5 comments · Fixed by #654
Closed

Combining static tarball and default cli-plugins #618

tonistiigi opened this issue Jan 11, 2022 · 5 comments · Fixed by #654

Comments

@tonistiigi
Copy link
Member

With docker/cli#3314 updates, there is an open question if we should do something with the static binary bundle. With that PR, in order to build with buildkit, buildx binary is needed. The packages already contain buildx, but the static tarball at https://download.docker.com/linux/static/stable/x86_64/ does not.

We should also take into account that more plugins like this will appear in the future. Compose rewrite in go is also a plugin, and Docker Desktop already ships with docker-scan with more coming in the future. The immediate concern for the 21.x release is buildx though.

The options are (comment if I missed any):

There is also an option to not do anything and consider static binaries an advanced use case. When users can figure out how to download and configure them, they can figure out the same for other binaries as well.

Personally, I don't have a preference and would be ok with any of the options. We just need to make a conscious decision.

@crazy-max
Copy link
Member

Looking at https://download.docker.com/linux/static/stable/x86_64/ it might make sense to have dedicated tarballs for plugins. Maybe one per-plugin:

  • https://download.docker.com/linux/static/stable/x86_64/docker-buildx-0.7.1.tgz
  • https://download.docker.com/mac/static/stable/x86_64/docker-buildx-0.7.1.tgz
  • https://download.docker.com/win/static/stable/x86_64/docker-buildx-0.7.1.zip

@tiborvass
Copy link
Contributor

@crazy-max As buildx becomes a required dependency on cli, I think it's better to put the buildx binary in the docker cli targz, otherwise it gives the false impression it's an optional extra.

@crazy-max
Copy link
Member

@tiborvass Correct, maybe both? This way we could align our docs for "manual download": docker/docs#14092 (comment)

@wedi
Copy link

wedi commented May 2, 2022

Thank you for tackling this @crazy-max and @thaJeztah

This issue is named

Combining static tarball and default cli-plugins

and you closed with the commit that adds buildx. Was this by accident or are there no plans anymore to align the plugins included in the static release with the installers that contain compose and docker-scan?

@thaJeztah
Copy link
Member

The plan is to create separate tars for each; this allows the teams working on compose and scan to do releases (and publish them on download.docker.com) when they arrive; currently we're in a big "chicken-and-egg" situation where "releasing <plugin x>" or "there's a release of containerd" means "also need to do a new release of the CLI, and engine"

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

Successfully merging a pull request may close this issue.

5 participants