在docker exec -it <container_name> gradle build之后继续保留gradle守护程序

时间:2019-10-17 21:50:02

标签: docker gradle

我正在使用docker exec -it <container_name> gradle build在docker容器中运行gradle(5.6.2 / JDK 11)构建。这种方法可以正常工作,但是在完成命令后将销毁守护进程。构建完成后,如何使守护进程在容器中运行?

我尝试过gradle --forground,但尝试过have learned that this creates incompatible daemons and is an undesirable option

1 个答案:

答案 0 :(得分:0)

使用Gradle无法解决此问题。守护程序会丢失,因为Docker容器已停止。您应该改为使用交互式外壳程序:

docker run --rm -it gradle:5.6.2-jdk11 bash

现在运行Gradle命令,该守护程序将在后续命令中重用:

root@014faa72d745:/home/gradle# gradle help

完成后,从容器中exit

root@014faa72d745:/home/gradle# exit

注意:您可以使用绑定安装来在容器中访问当前工作目录的文件:

docker run --rm -it --mount type=bind,src=$PWD,dst=/app -w /app gradle:5.6.2-jdk11 bash