59 lines
2.1 KiB
Docker
59 lines
2.1 KiB
Docker
# SPDX-License-Identifier: MIT
|
|
#!BuildTag: %%IMG_PREFIX%%frr:8.4
|
|
#!BuildTag: %%IMG_PREFIX%%frr:8.4-%RELEASE%
|
|
#!BuildVersion: 15.5
|
|
ARG SLE_VERSION
|
|
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
|
|
|
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
|
COPY --from=micro / /installroot/
|
|
RUN zypper --installroot /installroot --non-interactive install --no-recommends tcpdump libpcap-devel iproute2 iputils strace socat frr python3 catatonit sed util-linux; zypper -n clean; rm -rf /var/log/*
|
|
|
|
FROM micro AS final
|
|
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
|
# labelprefix=com.suse.application.frr
|
|
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
|
LABEL org.opencontainers.image.title="FRR Container Image"
|
|
LABEL org.opencontainers.image.description="frr based on the SLE Base Container Image."
|
|
LABEL org.opencontainers.image.version="8.4"
|
|
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
|
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
|
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%frr:8.4-%RELEASE%"
|
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
|
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
|
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
|
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
|
|
LABEL com.suse.image-type="application"
|
|
LABEL com.suse.release-stage="released"
|
|
# endlabelprefix
|
|
|
|
COPY --from=base /installroot /
|
|
|
|
#Install frr
|
|
USER root
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE yes
|
|
|
|
# frr.sh is the entry point. This script examines environment
|
|
# variables to direct operation and configure ovn
|
|
ADD frr.sh /root/
|
|
ADD daemons /etc/frr
|
|
ADD frr.conf /etc/frr
|
|
ADD vtysh.conf /etc/frr
|
|
|
|
RUN chown frr:frr /etc/frr/daemons /etc/frr/frr.conf
|
|
|
|
RUN ln -s /usr/bin/catatonit /sbin/tini
|
|
RUN usermod -a -G frrvty frr
|
|
|
|
COPY docker-start /usr/libexec/frr/docker-start
|
|
RUN cp -r /usr/libexec/frr /usr/lib/ # required because of the different path on rhel
|
|
|
|
WORKDIR /root
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
|
|
COPY docker-start /usr/lib/frr/docker-start
|
|
RUN chmod +x /usr/lib/frr/docker-start
|
|
CMD ["/usr/lib/frr/docker-start"]
|