Use new -core packages for 8.0.1+ #282
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Should reduce the image size by about 200MB, but may need to discuss some points below:
https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-file-priv
The setting restricts where the server can read and write on the filesystem with LOAD DATA and SELECT INTO OUTFILE. The default is /var/lib/mysql-files, but I set it to NULL, which disables these functions
The -core packages contain the same binaries we have in the upstream docker images, and not all of the binaries in the standard server images are included (since 8.0 is still dmr we can change this in the future if we realize we're missing something that people need)
Since the core packages have no config we need to generate them from scratch. I added them to the git tree instead of generating in the script, since I think it's a bit easier for people to see exactly what the config is that way. Maybe change directory structure from mysql/ to config/ or config/mysql/?
Commit message:
The packages mysql-community-client-core and mysql-community-server-core
contain only the binaries needed by the client and server, with no
configuration, services or debug binaries, making them significantly
smaller in size.
Images that build on this and install further packages that depend on
MySQL may lose the size benefit if the dep is on "mysql-server", but
should otherwise work as before.
Included the config files in git instead of generating them in the build
script, to make it a bit easier to see exactly what the default config
of the image is.