FROM docker-config-engine ARG docker_container_name ARG frr_user_uid ARG frr_user_gid RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf # Make apt-get non-interactive ENV DEBIAN_FRONTEND=noninteractive # Update apt's cache of available packages RUN apt-get update # Install required packages RUN apt-get install -y libdbus-1-3 libdaemon0 libjansson4 libc-ares2 iproute2 libpython2.7 libjson-c2 logrotate {% if docker_fpm_frr_debs.strip() -%} # Copy locally-built Debian package dependencies {%- for deb in docker_fpm_frr_debs.split(' ') %} COPY debs/{{ deb }} /debs/ {%- endfor %} RUN groupadd -g ${frr_user_gid} frr RUN useradd -u ${frr_user_uid} -g ${frr_user_gid} -M -s /bin/false frr # Install locally-built Debian packages and implicitly install their dependencies {%- for deb in docker_fpm_frr_debs.split(' ') %} RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }} {%- endfor %} {%- endif %} # Clean up RUN apt-get clean -y RUN apt-get autoclean -y RUN apt-get autoremove -y RUN rm -rf /debs ~/.cache COPY ["*.j2", "/usr/share/sonic/templates/"] COPY ["start.sh", "config.sh", "/usr/bin/"] COPY ["daemons", "/etc/frr/"] COPY ["daemons.conf", "/etc/frr/"] COPY ["vtysh.conf", "/etc/frr/"] ENTRYPOINT /usr/bin/config.sh \ && /usr/bin/start.sh \ && /bin/bash