Reduce Docker image#164
Merged
Merged
Conversation
This commit reduce the final image size from 964MB to 272MB through: - Using multi-stage build - Remove unecessary files using .dockerignore file - Remove unecessary files after installing dependencies For production, it is also possible to remove some files that it is not necessary for it (like tests, uncompiled assets, etc) using the `to_remove` argument, for example: --build-arg to_remove="spec node_modules app/assets vendor/assets \ lib/assets tmp/cache". This reduce the final image to 164MB
b2df5e1 to
1c504c0
Compare
andrelugomes
requested changes
Feb 14, 2019
andrelugomes
approved these changes
Feb 15, 2019
rafapg
approved these changes
Feb 15, 2019
gentilfp
approved these changes
Feb 15, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit reduce the final image size from 964MB to 272MB through:
before:

after:

For production, it is also possible to remove some files that it is not
necessary for it (like tests, uncompiled assets, etc) using the
to_removeargument, for example:--build-arg to_remove="spec node_modules app/assets vendor/assets
lib/assets tmp/cache".
This reduce the final image to 164MB