Files
dockerfiles/cgit/Dockerfile
Liu, Jianjun 5c2d1b2fa9 only copy delta files when multistage build
For some Host OS configuration with redirect_dir on,
extra data are saved on the upper layer when the same
file exists on different layers. To minimize docker
image size, remove the overlapped files before copy,
when cgit, httpd, mariadb, memcached, nginx and
postgres.

Signed-off-by: Liu, Jianjun <jianjun.liu@intel.com>
2019-06-18 14:11:12 +08:00

35 lines
1.2 KiB
Docker

FROM clearlinux:latest AS builder
# Move to latest Clear Linux release to ensure
# that the swupd command line arguments are
# correct
RUN swupd update --no-boot-update $swupd_args
# Grab os-release info from the minimal base image so
# that the new content matches the exact OS version
COPY --from=clearlinux/os-core:latest /usr/lib/os-release /
# Install additional content in a target directory
# using the os version from the minimal base
RUN source /os-release && \
mkdir /install_root \
&& swupd os-install -V ${VERSION_ID} \
--path /install_root --statedir /swupd-state \
--bundles=sudo,curl,scm-server --no-scripts \
&& rm -rf /install_root/var/lib/swupd/*
# For some Host OS configuration with redirect_dir on,
# extra data are saved on the upper layer when the same
# file exists on different layers. To minimize docker
# image size, remove the overlapped files before copy.
RUN mkdir /os_core_install
COPY --from=clearlinux/os-core:latest / /os_core_install/
RUN cd / && \
find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d || true
FROM clearlinux/httpd:latest
COPY --from=builder /install_root /
COPY cgitrc /etc/cgitrc
COPY httpd-cgit.conf /etc/httpd/conf.d/httpd-cgit.conf