因此,在国内构建Docker镜像,在Dockerfile文件中,主动加上国内源的设置吧....比如以上面的Java服务为便,利用多阶段构建你可以做成这样
阶段一: 编译项目,这个过程会下载依赖
阶段二: 构建真正的镜像
这样不同阶段的好处在于, 如果你的依赖定义文件没有发生变更的前提下, 阶段一的构建...这样就解决了前面的问题.
善用.dockerignore文件
如果你构建Docker镜像,都从来没有定义,甚至不知道.dockerignore的存在, 那就不应该了....在构建Docker镜像的过程中, Docker会先将本地的一个目录加载到Context上下文中,你才能COPY等....但是项目中的很多目录,比如java中的build目录, npm中的node_modules其实并不需要加载到Context中, 因为我们会在构建过程中重新编译生成这些目录或文件.