Kamilski81
Kamilski81

Reputation: 15127

How can I build an image in Docker without downloading all dependencies every time?

I have a Django app that uses Docker and has a bunch of library dependencies in the requirements.txt Any time I add a new dependency, I have to re-build the image and it downloads all of the dependencies from scratch. Is there a way to cache dependencies when building a docker image?

Upvotes: 1

Views: 1686

Answers (1)

Rico
Rico

Reputation: 61669

The most common solution is to create a new base image on top the one that already has all the dependencies. However, if you update all your dependencies very regularly, it might be easier to set a CI process where you build a new base image every so often (every week? every day?)

Multistage might not work in Docker because the dependencies are part of your base image, so then you do docker build . it will always want to pull all the dependencies when you do a pip3 install -r requirements.txt

Upvotes: 1

Related Questions