fc6bcff52b
* [sonic-buildimage] Changes to make network specific sysctl common for both host and docker namespace (in multi-npu). This change is triggered with issue found in multi-npu platforms where in docker namespace net.ipv6.conf.all.forwarding was 0 (should be 1) because of which RS/RA message were triggered and link-local router were learnt. Beside this there were some other sysctl.net.ipv6* params whose value in docker namespace is not same as host namespace. So to make we are always in sync in host and docker namespace created common file that list all sysctl.net.* params and used both by host and docker namespace. Any change will get applied to both namespace. Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> * Address Review Comments and made sure to invoke augtool only one and do string concatenation of all set commands * Address Review Comments.
47 lines
2.0 KiB
Django/Jinja
47 lines
2.0 KiB
Django/Jinja
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
|
|
FROM docker-config-engine-buster
|
|
|
|
ARG docker_container_name
|
|
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 redis-server
|
|
RUN apt-get install -y redis-server=5:6.0.5-1~bpo10+1
|
|
|
|
{% if docker_database_debs.strip() -%}
|
|
# Copy locally-built Debian package dependencies
|
|
{{ copy_files("debs/", docker_database_debs.split(' '), "/debs/") }}
|
|
|
|
# Install locally-built Debian packages and implicitly install their dependencies
|
|
{{ install_debian_packages(docker_database_debs.split(' ')) }}
|
|
{%- endif %}
|
|
|
|
# Clean up
|
|
RUN apt-get clean -y && \
|
|
apt-get autoclean -y && \
|
|
apt-get autoremove -y && \
|
|
rm -rf /debs ~/.cache && \
|
|
sed -ri 's/^(save .*$)/# \1/g; \
|
|
s/^daemonize yes$/daemonize no/; \
|
|
s/^logfile .*$/logfile ""/; \
|
|
s/^# syslog-enabled no$/syslog-enabled no/; \
|
|
s/^# unixsocket/unixsocket/; \
|
|
s/redis-server.sock/redis.sock/g; \
|
|
s/^client-output-buffer-limit pubsub [0-9]+mb [0-9]+mb [0-9]+/client-output-buffer-limit pubsub 0 0 0/ \
|
|
' /etc/redis/redis.conf
|
|
|
|
COPY ["supervisord.conf.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["docker-database-init.sh", "/usr/local/bin/"]
|
|
COPY ["database_config.json.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["database_global.json.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
|
|
COPY ["files/sysctl-net.conf", "/etc/sysctl.d/"]
|
|
COPY ["critical_processes", "/etc/supervisor"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/docker-database-init.sh"]
|