我必须创建一个docker文件,将MyApp目录复制到映像中.
MyApp
-libs
-classes
-resources
Libs目录有大约50 MB,并且它不经常更改,因为Classes目录大约1 MB并且它经常发生变化.为了优化docker构建,我计划在Dockerfile的开头添加Libs目录,并在Dockerfile的末尾添加其他目录.我目前的做法是这样的
ADD MyApp/libs /opt/MyApp/libs
## do other operations
ADD MyApp/classes /opt/MyApp/resources
ADD MyApp/classes /opt/MyApp/classes
这不是可维护的格式,因为将来我可能在MyApp目录中有一些其他目录要复制到docker镜像中.我的目标是写一个像这样的docker文件
ADD MyApp/libs /opt/MyApp/libs
## do other operations
ADD MyApp -exclude MyApp/libs /opt/MyApp
是否有类似的命令来排除复制到docker镜像的目录中的某些文件?
最佳答案
我考虑了@nwinkler解释的方法,并添加了一些步骤来使构建保持一致.
现在我的上下文目录结构如下
-Dockerfile
-MyApp
-libs
-classes
-resources
-.dockerignore
-libs
我将libs目录复制到MyApp目录的外部.添加了一个包含以下行的.dockerignore文件
MyApp/libs/*
更新了Dockerfile
ADD libs /opt/MyApp/libs
## do other operations
ADD MyApp /opt/MyApp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。