- I changed one source file, I need to rebuild the whole app
- I upped one dependency by a minor version
...
How long is the rebuild time? As I said, compare it to simple, standard make-based setup.
The problem is that layers are really — in the end — sequential, and even a simple change in an earlier one invalidates the latter cached layers.
I do not consider up-to-few-seconds for cases like above "very high standards", but it is a lot of work and care with Docker — especially as you need it not to mess up development or production environments as people skip versions and similar (if you use tricks like reading some config from a file).
- I changed one source file, I need to rebuild the whole app
- I upped one dependency by a minor version
...
How long is the rebuild time? As I said, compare it to simple, standard make-based setup.
The problem is that layers are really — in the end — sequential, and even a simple change in an earlier one invalidates the latter cached layers.
I do not consider up-to-few-seconds for cases like above "very high standards", but it is a lot of work and care with Docker — especially as you need it not to mess up development or production environments as people skip versions and similar (if you use tricks like reading some config from a file).