Skip to content

Commit 8b2633b

Browse files
Reduce final Docker image size (#2867)
* reduce final Docker image size only copy the final documentation build exclude unnecessary project files from * ignore fixtures from Docker build * include manage.py in final image * copy files from docs image into runtime image * include setup.cfg in final image build * copy more onadata files to final image * resolve savReaderWriter files not copied
1 parent d3ad893 commit 8b2633b

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
**/*tests
1818
**/*test
1919
**/*__pycache__
20+
**/*fixtures
2021
onadata/media
2122
onadata/test_data_media
2223
onadata/test_media

docker/onadata-uwsgi/Dockerfile.ubuntu

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ RUN apt-get install -y --no-install-recommends \
9393
&& chown -R appuser:appuser /srv/onadata
9494

9595
COPY --from=base /home/appuser/.pyenv/ /home/appuser/.pyenv/
96-
COPY --from=docs /srv/onadata/ /srv/onadata/
96+
# Copy only the files required in the final build
97+
COPY --from=docs /srv/onadata/docs/_build/html /srv/onadata/docs/_build/html
98+
COPY --from=base /srv/onadata/onadata/ /srv/onadata/onadata/
99+
COPY --from=base /srv/onadata/src/ /srv/onadata/src/
100+
COPY --from=base /srv/onadata/extras/ /srv/onadata/extras/
101+
COPY --from=base /srv/onadata/uwsgi.ini /srv/onadata/uwsgi.ini
102+
COPY --from=base /srv/onadata/manage.py /srv/onadata/manage.py
97103
COPY --from=base /usr/local/lib/ /usr/lib/
98104

99105
RUN chown -R appuser:appuser /srv/onadata /home/appuser/.pyenv

0 commit comments

Comments
 (0)