由于Dockerfile中,默认是root权限,当使用命令chown或chmod会使整体镜像大小翻倍,这是由于docker原文件是 root ,授权给test后,docker 认为这两个层有差异,虽然是覆盖原来的,但是层之间会存储两份,一份是 root ,一份是 test的。
若是COPY或者ADD命令,docker版本>=17.09,可在命令行中直接加 --chown 或 --chmod参数:
COPY --chown=<user>:<group> <hostPath> <containerPath>
参考资料:
https://github.com/moby/moby/issues/29970
https://stackoverflow.com/questions/30085621/why-does-chown-increase-size-of-docker-image
https://docs.docker.com/engine/reference/builder/#add