apache / apache/gravitino

[Improvement] Use multi-staged build to shrink Docker image size

Open
#2,925 1 comment 0 reactions 0 assignees View on GitHub
improvement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.