[Improvement] Use multi-staged build to shrink Docker image size
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 315
Description
### What would you like to be improved?
Currently, we didn't use multi-stage build to build images like `gravitino`, `trino`, `doris`, `hive`, so the image size is very large (e.g. gravitino has almost 1G).
Reference: [gravitino image in docker hub](https://hub.docker.com/layers/datastrato/gravitino/0.1.3/images/sha256-3560483e7de9f4f9af154b96aac3933b112ea2c9363a2c8d80bbe4f59ecd6d7d?context=explore)
### How should we improve?
Use multi-stage build to shrink image size.
- [ ] [Improvement] Use multi-staged build to shrink Doris image size
- [ ] [Improvement] Use multi-staged build to shrink Gravitino image size
- [ ] [Improvement] Use multi-staged build to shrink Hive image size
- [ ] [Improvement] Use multi-staged build to shrink Trino image size
- [ ] [Improvement] Use multi-staged build to shrink kerberized Hive image size
c.c. @xunliu, @mchades
Contributor guide
Research direction
Start by locating the Docker build definitions for the gravitino, trino, doris, hive, and kerberized Hive images, then measure their current sizes and inspect how each image is built. Done means each listed image uses a multi-stage build and has a smaller resulting image, with the corresponding checklist items completed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- build-system, devops
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100