cd2c86eab6
Signed-off-by: Stepan Blyschak stepanb@nvidia.com This PR is part of SONiC Application Extension Depends on #5938 - Why I did it To provide an infrastructure change in order to support SONiC Application Extension feature. - How I did it Label every installable SONiC Docker with a minimal required manifest and auto-generate packages.json file based on installed SONiC images. - How to verify it Build an image, execute the following command: admin@sonic:~$ docker inspect docker-snmp:1.0.0 | jq '.[0].Config.Labels["com.azure.sonic.manifest"]' -r | jq Cat /var/lib/sonic-package-manager/packages.json file to verify all dockers are listed there.
42 lines
921 B
Django/Jinja
Executable File
42 lines
921 B
Django/Jinja
Executable File
FROM docker-config-engine-buster
|
|
|
|
ARG docker_container_name
|
|
|
|
## Make apt-get non-interactive
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update
|
|
|
|
COPY \
|
|
{% for deb in docker_syncd_bfn_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor -%}
|
|
debs/
|
|
|
|
RUN apt-get install -y \
|
|
libxml2 \
|
|
libpcap-dev \
|
|
libusb-1.0-0-dev \
|
|
libcurl4 \
|
|
libcurl4-gnutls-dev \
|
|
libunwind8-dev \
|
|
libpython3.4 \
|
|
libc-ares2 \
|
|
libgoogle-perftools4
|
|
|
|
RUN dpkg -i \
|
|
{% for deb in docker_syncd_bfn_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor %}
|
|
|
|
COPY ["start.sh", "/usr/bin/"]
|
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
|
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
|
|
COPY ["critical_processes", "/etc/supervisor/"]
|
|
|
|
## Clean up
|
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
|
RUN rm -rf /debs
|
|
|
|
ENTRYPOINT ["/usr/local/bin/supervisord"]
|