bryanyang0528 / ksql-python

A python wrapper for the KSQL REST API.
MIT License
159 stars 67 forks source link

Optimize Dockerfile #82

Closed harlev closed 4 years ago

harlev commented 4 years ago

Copying the whole project content with COPY . /app before installing the requirements, causes every change in any file to cause reinstallation of all requirements on the next Docker build.

After the change, only the requirements files are copied first with COPY *requirements* /app/
Then the requirements are installed, and this layer of the image could be cached for later builds, even if the application changes.

It is easy to test and see that after an initial build, changing anything in the application, will not reinstall all the dependencies on the next Docker build, resulting in a much faster build

bryanyang0528 commented 4 years ago

@harlev Thanks for updating.