.dockerignore发挥了大的作用

遇到一个小难题,以前工程用的docker-maven-plugin插件,会把工程生成的jar包以及打docker用的dockerfile放到指定路径下。但是现在因为某些原因不使用这个插件,于是乎就遇到了一个问题。现在工程maven编译后会生成三个jar.举例为Test-SNAPSHOT.jar Test-SNAPSHOT-STUB.jar Test-SNAPSHOT.original .以前工程的Dockerfile中是这样把jar拷贝进docker中的。

ADD *.jar /app.jar

因为以前上文提到的插件会把Test-SNAPSHOT.jar这一个jar包拷贝到Dockerfile的同级目录下。现在问题来了,有两个以.jar结尾的jar包。于是我将Dockerfile修改为这样

ADD *-SNOPSHOT.jar /app.jar

但是一旦项目上线,jar包的version就不会有SNAPSHOT,因此这种办法行不通。

之后.dockerignore就发挥了大的作用!!!!!

.dockerignore 是一个和 .gitignore 类似的文件。
里面指定的文件,不会参与 Dockerfile 的构建,也就不会被 ADD。
把它放到和Dockerfile同级的目录就会生效。
于是我在这个文件中添加 *-stub.jar
于是再次编译的时候,及时Dockerfile中是ADD *.jar 也不会把带有stub的jar添加进去。
到此结束,0.0 开心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
`.dockerignore` 是一个用于指定 Docker 构建上下文中哪些文件和目录应该被忽略的文件。类似于 `.gitignore` 文件用于 Git 版本控制系统,`.dockerignore` 文件用于 Docker 镜像构建过程中。 当你使用 `docker build` 命令构建 Docker 镜像时,Docker 引擎会将构建上下文中的所有文件和目录发送给 Docker 守护进程。然后,Docker 守护进程将这些文件打包并发送给构建环境来构建镜像。如果构建上下文中包含大量不必要的文件和目录,这可能会导致构建过程变慢,并且生成的镜像可能会比预期的更大。 为了避免将不必要的文件和目录包含在构建上下文中,可以创建一个名为 `.dockerignore` 的文件,并在其中列出需要忽略的文件和目录的规则。 以下是一个示例 `.dockerignore` 文件的内容: ``` # 忽略所有的 .git 目录 .git # 忽略所有的 .DS_Store 文件 .DS_Store # 忽略所有的日志文件 *.log # 忽略临时文件 temp/ # 忽略特定的文件 secret.txt ``` 在这个示例中,`.dockerignore` 文件指定了一些常见的需要忽略的文件和目录,例如 `.git` 目录、`.DS_Store` 文件、`.log` 文件等。你也可以根据自己的需求添加其他需要忽略的文件或目录。 当你运行 `docker build` 命令时,Docker 引擎会根据 `.dockerignore` 文件中的规则来排除相应的文件和目录,从而减少构建上下文的大小和构建过程的时间。 希望以上解释对你有帮助!如有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_Boss_Hao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值