我正在使用 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 .
最佳答案
使用 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
注意:您可以使用绑定(bind)挂载来获取容器中可访问的当前工作目录的文件:
docker run --rm -it --mount type=bind,src=$PWD,dst=/app -w /app gradle:5.6.2-jdk11 bash
关于docker - 在 docker exec -it <container_name> gradle build 之后持久化 gradle 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58441158/