Gradle任务在启动HttpFileServer后挂起

我正在尝试在Dockerfile中创build一个Docker镜像,我想使用文件服务器而不是使用ADD指令(不创build图层)来拉取文件。 所以在我的Gradle脚本中,我运行这样的服务器:

SimpleHttpFileServerFactory factory = new SimpleHttpFileServerFactory() server = factory.start(new File(location), port) 

我正在使用'se.transmode.gradle'Gradle插件来构build图像。 我面对的问题是,运行文件服务器后,buildDocker任务挂起,并且–debug arg只显示常规检查消息,如下面的整个时间:

 19:28:59.110 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry. 19:28:59.110 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired. 19:28:59.110 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry. 

如果我读的文件,我想直接在容器中复制,那么一切正常。

如果我使用生成的Dockerfile,它从文件服务器中拉取文件…在dock上运行文件服务器时使用“docker build”命令…然后一切正常。

我的buildDocker任务如下所示:

 task buildDocker(type: Docker, dependsOn: [buildRpm, generateDockerfile, startHttpFileServer]) { push = false applicationName = 'test-app' tagVersion = "$rootProject.appVersion" dockerfile = file("${buildDir}/docker/tmp/Dockerfile") doFirst { copy { from("${buildDir}/distributions/${applicationName}-${tagVersion}.noarch.rpm") into("${stageDir}/target") } copy { from("${rootDir}/Packaging/src/docker/entrypoint.sh") into("${stageDir}/target") } exec { commandLine "docker", "login", "-u", "${username}", "-p", "${password}", "${registryUrl}" } } doLast { exec { commandLine "docker", "logout", "${registryUrl}" } } } buildDocker.finalizedBy stopHttpFileServer