docker-library / mysql

Docker Official Image packaging for MySQL Community Server
https://dev.mysql.com/
GNU General Public License v2.0
2.42k stars 2.18k forks source link

Client only variant? #1062

Open cen1 opened 1 month ago

cen1 commented 1 month ago

Sometimes I only need some sort of an init container to seed the database or a similar task and don't need the entire mysql server installation in the image. Would it make sense to introduce a CLI only image variant?

tianon commented 1 month ago

Hmm, interesting idea! There is a separate package for mysql-shell, but I don't think there's a separate package for the older mysql CLI (of the "minimal" packages we use):

$ docker run --rm --pull=always mysql rpm -qa | grep mysql
latest: Pulling from library/mysql
Digest: sha256:4a4e5e2a19aab7a67870588952e8f401e17a330466ecfc55c9acf51196da5bd0
Status: Image is up to date for mysql:latest
mysql-community-server-minimal-8.4.0-1.el9.x86_64
mysql-shell-8.4.0-1.el9.x86_64

That being said, I'm not sure us providing such an image really provides much value, since it's effectively just adding a source and installing a single package, and most users are already going to be running the server or an application that connects directly. :sweat_smile:

cen1 commented 1 month ago

The value is entirely a selfish one :). To be able to simply use mysql-cli:8.0-debian instead of rolling my own image, storing it on some registry, keep it up to date etc. Assuming there are probably 100s or 1000s of similar devs having this use case they all have to roll their own or simply eat the size cost and use the full image.

LaurentGoderre commented 1 month ago

I think it had some value but maybe not as much as a schema migration tool like liquibase.