harbor/make
Mitsuru Kariya 02d042a6b9
Reduce image size
Do following actions to reduce the size of the generated images.

- Change `COPY` command + `chown`/`chmod` command to `COPY` command +
  `--chown`/`--chmod` option.
  To prevent both files before/after `chown`/`chmod` commands from being
  recorded on different layers.
- Put all `tdnf` commands in a single `RUN` command and move `tdnf clean all`
  command to the end.
  To prevent the `tdnf` cache from being recorded on a layer, and the `tdnf`
  database from being recorded on multiple layers.
- Add `--link` option to `COPY` command.
  This does not contribute to image size reduction, but makes image building
  more efficient.
- Move `chown /etc/pki/tls/certs` to the `Dockerfile.base`.
  This does not contribute to image size reduction, but is used in
  conjunction with `COPY --link` to make image building more efficient.

The target images and their sizes are as follows. (The sizes are the value
when built locally)

- harbor-core : 185MB -> 118MB
- harbor-db : 285MB -> 263MB
- harbor-exporter : 108MB -> 79.1MB
- harbor-jobservice : 159MB -> 105MB
- harbor-registryctl : 160MB -> 104MB
- redis-photon : 179MB -> 170 MB
- standalone-db-migrator : 328MB -> 284MB

Note that harbor-log, harbor-portal, and nginx-photon have almost no effect,
and prepare is not directly executed by the user, so they are not included.

Also, registry-photon and trivy-adapter-photon are not included, since
PR#20622 and PR#20623 include equivalent action for these two, respectively.

Signed-off-by: Mitsuru Kariya <mitsuru.kariya@nttdata.com>
2024-06-21 02:08:34 +09:00
..
migrations/postgresql Add sbom_report table to store sbom related information (#20473) 2024-05-24 08:48:55 +00:00
photon Reduce image size 2024-06-21 02:08:34 +09:00
checkenv.sh Extract shared func for checkenv and install scripts 2019-10-10 15:07:09 +08:00
common.sh Fix docker version to 20.10.10 (#19751) 2023-12-26 16:57:25 +08:00
harbor.yml.tmpl add prepare migration script for 2.11.0 (#20315) 2024-04-22 16:34:08 +08:00
install.sh update installation hint (#19024) 2023-07-27 10:41:05 +08:00
prepare Fix: Add privileged for prepare command (#12689) 2020-08-13 14:55:42 +08:00
pushimage.sh Fix issue of missing db base build process in build base workflow 2021-06-16 15:22:32 +08:00