Tag: 多平台

需要知道如何使用Groovy来自动化Docker构build和运行时

我有一个任务来容纳一个Spring&Reactnetworking应用程序,这样非技术人员就可以利用这个容器向客户端演示这个应用程序。 目前,我们在OSX上进行开发,部署到由第三方公司pipe理的AWS上的Tomcat,非技术人员使用Windows笔记本电脑。 到目前为止,我在OSX中创build了一个bash脚本,它将创build一个包含Java 8 SDK和Maven的Packager容器,并将该应用程序编译成一个war文件。 第二个脚本创build并初始化一个mongodb容器并为其命名,第三个脚本创build一个Tomcat / Java 8容器,将war文件加载到该容器中,并将其链接到mongodb容器并将其设置为运行。 在OSX的bash上,这个工作正常,但是我发现如果我在Windows 10的cygwin上尝试它,我的CMD / Powershell-fu太弱,无法以Windows本机方式编写脚本。 所以,我正在尝试在OSX,AWS Linux服务器和Windows 10上运行的脚本,以及我自认为是Groovy的Java开发人员。 这是我第一次使用Groovy脚本化Docker,所以我最终使用了如下的结构: println "docker build -f Dockerfile.packager -t mycontainer .".execute().text 我想知道Docker是否有一个Java或Groovy API,可以插入并执行如下操作: docker.build("Dockerfile.packager").tag("mycontainer") 目前,我的脚本正在确定项目根目录的位置,并将Docker运行命令构build为string,如下所示: File emToo = new File(System.getProperty("user.dir")+"/.m2") String currentDirectory = new File(".").getCanonicalPath() String projectRoot = new File(currentDirectory+"/../").getCanonicalPath() 我通过命令行提示符从用户那里得到一个选项string,“你想要QA还是Dev?” & 然后: String dockerRunCmd = "docker run -it -v $projectRoot/:/usr/local/build/myproject:cached […]