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

Add "buildx" and "compose" CLI plugins (for supported architectures of each) #361

Merged
merged 1 commit into from
May 10, 2022

Conversation

tianon
Copy link
Member

@tianon tianon commented May 6, 2022

@tao12345666333
Copy link
Contributor

👍 great!

By the way, can we provide a tag like non-plugin, which means that plugin is not included.

Because in our actual scenario, DinD is heavily used in CI without the need to use plugins. It would be nice to not increase the size of the image. Thanks

@tianon
Copy link
Member Author

tianon commented May 9, 2022

🙈 that's exactly the type of request I've been hoping to avoid all this time 😅

If anything, I'd love to maintain less variations of this image than more. 😇

I've also been very strongly considering moving from Alpine to Debian or Ubuntu for the next (22.xx) release, since the experience of using Docker-Inc-provided Docker builds on both of those platforms is much more well-supported than Alpine is. 😞

@johnthagen
Copy link

johnthagen commented May 9, 2022

I've also been very strongly considering moving from Alpine to Debian or Ubuntu for the next (22.xx) release

As a drive by comment, I too will say that I've hit rough edges working with the Alpine-derived Docker images. If you don't need to do any changes they work well, but the moment you want to add some scripts or anything else to the image, Alpine is harder to use.

Also big ❤️ for getting Compose v2 into an official image.

@johnthagen
Copy link

johnthagen commented May 9, 2022

@tianon In the past, docker/compose had tags for each Docker Compose release: https://hub.docker.com/r/docker/compose/tags

How will Compose versioning work now (if, for example we want to pin to specific version of Compose?). Will the latest Compose simply be brought in at each new docker image release?

@tianon
Copy link
Member Author

tianon commented May 9, 2022

With the implementation currently in this PR, new versions of Compose will be integrated as they're released (so you'd have to pin to an image digest if you want something that doesn't change).

@wedi
Copy link

wedi commented May 10, 2022

I am used to Alpine from the times when there was no great slim alternative and I have been sticking to it to copy and paste proven recipes. Now that we have, for example, an Ubuntu image with a footprint below 30 MB, I think that in principle it would be fine to switch. However, please keep in mind how many people use these images. Making the switch will easily require thousands of developer hours in downstream projects and Pipelines. So it would be nice if you kept it as long as it doesn't become a major drain on your time.

@wedi
Copy link

wedi commented May 10, 2022

Once merged this would allow to finally resolve #156.

@tianon
Copy link
Member Author

tianon commented May 10, 2022

Just to record this somewhere, I did some testing on combining layers here to see if we get some compression efficiencies on transport (h/t @chris-crone), and the answer is a big resounding "no" -- building this as-is, the total "compressed size" of all layers is 89.47MB. If I combine both plugins layers into a single one, it's the same. Even if I combine the full Docker/containerd binaries layer as well, it's still exactly the same. 😬

(So my preference is to continue to leave them separate.)

@tianon
Copy link
Member Author

tianon commented May 10, 2022

I guess this is also a good place to note that the comparison to "current" from that is ~66.99MB, so for transport, this is not a huge increase.

@yosifkit yosifkit merged commit cff5be4 into docker-library:master May 10, 2022
@yosifkit yosifkit deleted the plugins branch May 10, 2022 21:41
@chris-crone
Copy link

Just to record this somewhere, I did some testing on combining layers here to see if we get some compression efficiencies on transport (h/t @chris-crone), and the answer is a big resounding "no" -- building this as-is, the total "compressed size" of all layers is 89.47MB. If I combine both plugins layers into a single one, it's the same. Even if I combine the full Docker/containerd binaries layer as well, it's still exactly the same. 😬

(So my preference is to continue to leave them separate.)

I was so sure that gzip would make the duplicated Go runtime go away but alas 😢

docker-library-bot added a commit to docker-library-bot/official-images that referenced this pull request May 10, 2022
Changes:

- docker-library/docker@cff5be4: Merge pull request docker-library/docker#361 from infosiftr/plugins
- docker-library/docker@9aaa758: Add "buildx" and "compose" CLI plugins (for supported architectures of each)
@johnthagen
Copy link

Now that Compose v2 is included in the docker image, should docker/compose (v1) be updated with a notice that it deprecated?

@thaJeztah
Copy link
Contributor

Compose V2 is part of the CLI (through a plugin); compose v1 is a standalone binary only. As to "deprecated"; you can subscribe to docker/roadmap#257 for updates.

@johnthagen
Copy link

@tianon I don't know if it's moving up to Compose v2 or buildx or some combination, but when we moved our CI that runs docker/compose:1.29.2/docker-compose build --parallel -> docker/docker compose build our compose project (multiple multi-stage Dockerfiles) built twice as fast. ❤️

Thanks!

BaurzhanSakhariev pushed a commit to crate/official-images that referenced this pull request Jul 18, 2022
Changes:

- docker-library/docker@cff5be4: Merge pull request docker-library/docker#361 from infosiftr/plugins
- docker-library/docker@9aaa758: Add "buildx" and "compose" CLI plugins (for supported architectures of each)
tmaier added a commit to tmaier/docker-compose that referenced this pull request Nov 1, 2022
docker-library/docker#361 made this repository obsolete :)
@tianon tianon mentioned this pull request May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants