leezu edited a comment on issue #18093: CI: unify centos7_base.sh and 
centos7_core.sh
URL: https://github.com/apache/incubator-mxnet/pull/18093#issuecomment-615955998
 
 
   @marcoabreu having instructions in shell files is a very bad practice. This 
leads to constant docker cache invalidation and makes for a horrible 
development experience. We need to refactor all dockerfiles to get rid of the 
shell scripts. The current practice is really not acceptable. Just try 
generating a docker image locally. It will never rely on the mxnetci docker 
cache. The root cause is that docker looks at the set of all files in your 
repository to decide if COPY needs to invalidate the cache. Some references:
   
   * 
https://stackoverflow.com/questions/48551953/why-does-my-docker-cache-get-invalidated-by-this-copy-command
   * Request for reason of cache invalidation: moby/moby#9294
   * COPY invalidates cache: moby/moby#21913
   * Timestamp part of hash: moby/moby#9391
   ** Fixed in moby/moby#12031
   
   Instead of using shell scripts, we can structure our Dockerfiles to have a 
base image that is shared among multiple containers, where each of the multiple 
containers is a specialization, eg for Python etc.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to