e9db38594d
Reduce the disk space taken up during bootup and runtime.
1. Remove python package cache from the base image and from the containers.
2. During bootup, if logs are to be stored in memory, then don't create the `var-log.ext4` file just to delete it later during bootup.
3. For the partition containing `/host`, don't reserve any blocks for just the root user. This just makes sure all disk space is available for all users, if needed during upgrades (for example).
* Remove pip2 and pip3 caches from some containers
Only containers which appeared to have a significant pip cache size are
included here.
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
* Don't create var-log.ext4 if we're storing logs in memory
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
* Run tune2fs on the device containing /host to not reserve any blocks for just the root user
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
(cherry picked from commit 5617b1ae3e
)
57 lines
1.7 KiB
Django/Jinja
57 lines
1.7 KiB
Django/Jinja
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
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y g++ python3-dev libxml2
|
|
|
|
# TODO: Remove these lines once we no longer need Python 2
|
|
RUN apt-get install -f -y python-dev python-pip
|
|
RUN pip2 install --upgrade 'pip<21'
|
|
RUN apt-get purge -y python-pip
|
|
RUN pip2 install setuptools==40.8.0
|
|
RUN pip2 install wheel==0.35.1
|
|
RUN pip2 install connexion==1.1.15 \
|
|
setuptools==21.0.0 \
|
|
grpcio-tools==1.20.0 \
|
|
certifi==2017.4.17 \
|
|
python-dateutil==2.6.0 \
|
|
six==1.11.0 \
|
|
urllib3==1.21.1
|
|
|
|
RUN pip3 install connexion==2.7.0 \
|
|
setuptools==21.0.0 \
|
|
grpcio-tools==1.20.0 \
|
|
certifi==2017.4.17 \
|
|
python-dateutil==2.6.0 \
|
|
six==1.11.0 \
|
|
urllib3==1.26.5
|
|
|
|
COPY \
|
|
{% for deb in docker_sonic_mgmt_framework_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor -%}
|
|
debs/
|
|
|
|
RUN dpkg -i \
|
|
{% for deb in docker_sonic_mgmt_framework_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor %}
|
|
|
|
COPY ["start.sh", "rest-server.sh", "/usr/bin/"]
|
|
COPY ["mgmt_vars.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
|
|
|
# TODO: Remove this line once we no longer need Python 2
|
|
RUN apt-get purge -y python-dev
|
|
|
|
RUN apt-get remove -y g++ python3-dev
|
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
|
RUN rm -rf /debs ~/.cache
|
|
|
|
ENTRYPOINT ["/usr/local/bin/supervisord"]
|