FROM docker-config-engine-stretch 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-c3 logrotate libunwind8 {% 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 %} RUN chown -R ${frr_user_uid}:${frr_user_gid} /etc/frr/ # Clean up RUN apt-get clean -y RUN apt-get autoclean -y RUN apt-get autoremove -y RUN rm -rf /debs ~/.cache COPY ["bgpcfgd", "start.sh", "/usr/bin/"] COPY ["*.j2", "/usr/share/sonic/templates/"] COPY ["supervisord.conf", "/etc/supervisor/conf.d/"] ENTRYPOINT ["/usr/bin/supervisord"]