2019-11-12 04:20:54 +01:00
|
|
|
ARG harbor_base_image_version
|
2020-04-01 13:46:45 +02:00
|
|
|
ARG harbor_base_namespace
|
|
|
|
FROM ${harbor_base_namespace}/harbor-core-base:${harbor_base_image_version}
|
2016-08-23 11:57:12 +02:00
|
|
|
|
2021-05-13 11:16:53 +02:00
|
|
|
HEALTHCHECK CMD curl --fail -s http://localhost:8080/api/v2.0/ping || curl -k --fail -s https://localhost:8443/api/v2.0/ping || exit 1
|
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-20 18:31:12 +02:00
|
|
|
COPY --link --chown=10000:10000 --chmod=755 ./make/photon/common/install_cert.sh /harbor/
|
|
|
|
COPY --link --chown=10000:10000 --chmod=744 ./make/photon/core/entrypoint.sh /harbor/
|
|
|
|
COPY --link --chown=10000:10000 --chmod=755 ./make/photon/core/harbor_core /harbor/
|
|
|
|
COPY --link --chown=10000:10000 ./src/core/views /harbor/views
|
|
|
|
COPY --link --chown=10000:10000 ./make/migrations /harbor/migrations
|
|
|
|
COPY --link --chown=10000:10000 ./icons /harbor/icons
|
2020-03-11 19:13:58 +01:00
|
|
|
|
2016-08-23 11:57:12 +02:00
|
|
|
WORKDIR /harbor/
|
2019-07-30 07:04:28 +02:00
|
|
|
USER harbor
|
2020-03-11 19:13:58 +01:00
|
|
|
ENTRYPOINT ["/harbor/entrypoint.sh"]
|
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-20 18:31:12 +02:00
|
|
|
COPY --link make/photon/prepare/versions /harbor/
|