加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在跳过给定子目录的同时将目录复制到docker镜像中

发布时间:2020-12-16 03:48:59 所属栏目:安全 来源:网络整理
导读:我必须创建一个docker文件,将MyApp目录复制到映像中. MyApp -libs -classes -resources Libs目录有大约50 MB,并且它不经常更改,因为Classes目录大约1 MB并且它经常发生变化.为了优化docker构建,我计划在Dockerfile的开头添加Libs目录,并在Dockerfile的末尾添

我必须创建一个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

因为dockerignore文件忽略了MyApp / lib目录,所以覆盖我之前复制的libs目录没有风险.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读