docker-library / docker-library/mysql
MySQL image sizes increased greatly due to mysql shell
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 2.6k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
The mysql server Docker image sizes increased substantially beginning with the Jan 2025 quarterly releases (8.0.41, 8.4.4, 9.2.0), and remained elevated in the April 2025 releases (8.0.42, 8.4.5, 9.3.0). It's a ~35% increase in compressed image size, relative to the Oct 2024 releases (8.0.40, 8.4.3, 9.1.0).
Only the Oracle Linux based builds are affected. It looks related to the layer for mysqlshell.
For example, look at layer number 13 in mysql:8.0.40, and compare to mysql:8.0.41. That layer nearly doubled in size. And it seems surprising that the layer for mysqlsh would suddenly become substantially larger than the layer for mysqld...
Debian-based builds don't show an increase, for example 8.0.40-debian and 8.0.41-debian are nearly the same compressed size as each other. But the debian builds don't have a layer for mysqlshell so that's probably why.
After reviewing upstream package sizes for MySQL Shell on https://downloads.mysql.com/archives/shell/, there is indeed a big increase upstream between 8.0.40 and 8.0.41, so the root cause is arguably an upstream issue. Looking at mysql shell release notes, I'd wager it's from the item "Google V8 JavaScript engine is replaced by Oracle GraalVM".
So the root cause is an upstream issue, but... given that mysqlshell now takes up such a huge chunk of the image size, and given how commonly the mysql images are downloaded for use-cases which don't need mysqlshell, would it ever make sense to exclude it from the main mysql image tags? Or is this too much of a breaking change to consider?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the linked Docker Hub layers for MySQL 8.0.40 and 8.0.41, then review the MySQL Shell archive sizes and release notes mentioned in the issue. Determine whether excluding mysqlshell from the main Oracle Linux image tags is viable without an unacceptable breaking change; done means the packaging decision and its consequences are clearly established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, mysql, shell
- Domain
- databases, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100