docker - 覆盖由 bmuschko Gradle Docker 插件生成的整个默认 Dockerfile
问题描述
我正在尝试覆盖Dockerfile
我的 Gradle 脚本中生成的整个 bmuschko。但是,我似乎能做的只是附加到它的底部。我有一个Dockerfile
想要使用的自定义,但使用插件 ( com.bmuschko.docker-spring-boot-application:6.1.2
) 会覆盖它。我尝试添加一个新的入口点、指令和指令模板,但所有这些只是将它们附加到生成文件的底部:
tasks.withType<Dockerfile> {
instructionsFromTemplate("src/main/resources/Dockerfile")
entryPoint("top", "-b")
instruction("FROM azul/zulu-openjdk-centos:latest")
}
也试过:
tasks.withType<DockerBuildImage> {
dockerFile.set(File("src/main/resources/Dockerfile"))
}
gw dockerBuildImage
说它实际上是在使用我的 Dockerfile,但随后抛出一个错误:
Using Dockerfile '/Users/meanwhileinhell/my-app/src/main/resources/Dockerfile'
Using images 'com.meanwhileinhell.app/meanwhileinhell-server:1.0.0-snapshot'.
Error during callback
com.github.dockerjava.api.exception.InternalServerErrorException: Cannot locate specified Dockerfile: /Users/meanwhileinhell/my-app/src/main/resources/Dockerfile
at com.github.dockerjava.jaxrs.filter.ResponseStatusExceptionFilter.filter(ResponseStatusExceptionFilter.java:59)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.ClientFilteringStages$ResponseFilterStage.apply(ClientFilteringStages.java:133)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.ClientFilteringStages$ResponseFilterStage.apply(ClientFilteringStages.java:121)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.process.internal.Stages.process(Stages.java:171)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:283)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:767)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:316)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:298)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.internal.Errors.process(Errors.java:229)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:765)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:456)
at com.bmuschko.gradle.docker.shaded.org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:357)
at com.github.dockerjava.jaxrs.async.POSTCallbackNotifier.response(POSTCallbackNotifier.java:29)
at com.github.dockerjava.jaxrs.async.AbstractCallbackNotifier.call(AbstractCallbackNotifier.java:50)
at com.github.dockerjava.jaxrs.async.AbstractCallbackNotifier.call(AbstractCallbackNotifier.java:24)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
它Dockerfile
说它找不到,正是它说它找不到它的位置。
如何完全覆盖此文件?
解决方案
尝试使用
tasks.withType<DockerBuildImage> {
inputDir.set(file("src/main/resources/"))
}
推荐阅读
- reactjs - 意外的 useEffect 行为
- python - 通过凭据登录后,Scrapy 无法登录并加载“LinkedIn Feed”页面
- typescript - 键入类,以便每个方法都必须是“getter”
- laravel - 如何从根文件夹内的子文件夹访问网站?
- php - Wordpress get_post_meta 无法发布
- javascript - 如何使用 amcharts4 对柱形图进行钻取
- ios - 当较新的 iOS 应用程序版本已经发布时,如何更新较旧的 iOS 应用程序版本?
- go - 就性能而言,Gorm Preload 功能是一个好的做法吗?
- python - 无法通过 pip 安装“unpy2exe”
- python-3.x - 在数据透视表之后跨列求和