Tag: grails

grails / mysql与docker组成

我试图在docker中运行grails应用程序,并继续运行在一些MySQL连接问题。 我找不出问题所在。 这是我的docker-compose文件 version: "2" services: db: image: mysql:5.7 volumes: – db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: root2017 MYSQL_DATABASE: dbname MYSQL_USER: Dbuser MYSQL_PASSWORD: passw grails: depends_on: – db ports: – "9001:9001" restart: always environment: DB_HOST: db:3306 DB_PASSWORD: passw volumes: db_data: grails应用程序不会以下列错误开始: 错误18:08:05 org.apache.tomcat.jdbc.pool.ConnectionPool – 无法创build池的初始连接。 grails_1 | com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

在PSQLException上运行Grails应用程序失败:此ResultSet被closures

我试图在terminal(当然,在Pycharm)中运行本地Grails应用程序,它失败了: [WARN] 2017-11-28 13:16:26,836 (springframework.jdbc.datasource.LazyConnectionDataSourceProxy:warn:189) | Could not retrieve default auto-commit and transaction isolation settings org.postgresql.util.PSQLException: This ResultSet is closed. at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkClosed(AbstractJdbc2ResultSet.java:2852) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.setFetchSize(AbstractJdbc2ResultSet.java:1875) at org.postgresql.jdbc4.Jdbc4Statement.createResultSet(Jdbc4Statement.java:37) at org.postgresql.jdbc2.AbstractJdbc2Statement$StatementResultHandler.handleResultRows(AbstractJdbc2Statement.java:219) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1816) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403) at org.postgresql.jdbc2.AbstractJdbc2Connection.execSQLUpdate(AbstractJdbc2Connection.java:376) at org.postgresql.jdbc2.AbstractJdbc2Connection.getTransactionIsolation(AbstractJdbc2Connection.java:898) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) at […]

在Cloud Foundry中链接两个应用程序

我的应用程序分为两个不同的应用程序(微服务?)。 一个部署到CF作为docker集装箱,另一个部署为常规的WAR文件(grails应用程序)。 Docker容器是一个公开REST API的Python / Flask应用程序。 WebApp使用这个剩余的API。 以前,我将这些应用程序作为两个独立的–link flag容器,并使用–link flag执行,但现在我正在将这些应用程序放在Cloud Foundry中。 在docker世界,我曾经做过以下事情。 docker run -d –link python_container -p 8080:8080 –name war_container war_image 上面的命令将在war_container中创build环境variables,这将暴露war_container的IP地址和端口。 使用这些环境variables,我可以从我的WAR应用程序与python_container通信。 这些环境variables如下所示: PYTHON_CONTAINER_PORT_5000_TCP_ADDR=<ipaddr> PYTHON_CONTAINER_PORT_5000_TCP_PORT=<port> 题 是否有可能在Cloud Foundry中做类似的事情? 我有已经部署在CF中的docker容器。 我怎样才能链接我的WAR应用程序,以便一旦我推送战争文件,环境variables就会被创build并链接到python_container 。 目前我使用这个推docker容器到PCFDev: cf push my-app -o 192.168.0.102:5002/my/container:latest 然后我推动战争文件使用 cf push cf-sample -n cf-sample cf-sample的manifest.yml是: — applications: – name: cfsample memory: 1G instances: 1 […]

Grails 3.1.4和Docker – grails命令返回“没有find名称为web的configuration文件”

我有一个简单的Grails应用程序,运行良好。 使用grails webconfiguration文件和grails run-app 然而,当我从应用程序中构build一个grails dependency-report –stacktrace发送到grails dependency-report –stacktrace的grails命令(例如grails run-app –stacktrace或grails dependency-report –stacktrace将失败并显示stacktrace: | Error Error occurred running Grails CLI: No profile found for name [web]. (NOTE: Stack trace has been filtered. Use –verbose to see entire trace.) java.lang.IllegalStateException: No profile found for name [web]. at org.grails.cli.GrailsCli.initializeProfile(GrailsCli.groovy:507) at org.grails.cli.GrailsCli.initializeApplication(GrailsCli.groovy:308) at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:271) at org.grails.cli.GrailsCli.main(GrailsCli.groovy:162) | Error […]

在Vagrant虚拟机内部运行的Docker容器中,Grails监视文件不起作用

我有一个相当嵌套的结构: MacOSX工作站正在运行… ubuntu/trusty64 VirtualBox虚拟机与ubuntu/trusty64运行… Docker容器正在运行… 我用Grails编写的应用程序 每个图层的configuration方式都是从上面的图层共享文件系统的一部分。 这条路: Vagrant,在Vagrantfile有config.vm.synced_folder指令 Docker,在Dockerfile使用-v命令,如switch和VOLUME指令 这样,我可以在我的工作站上进行开发,底部的Grails应用程序应该(理想情况下)检测更改并重新编译/重新加载。 当我在MacOSX上直接运行相同的应用程序时,这是一个function,但现在grails似乎完全不知道文件更改。 当然,如果我用一个编辑器(在Docker容器中)打开这些文件,它们确实发生了变化,事实上,如果我停止/重新启动grails应用程序,则会使用新的代码。 我不知道Grails如何实现观察策略,但是如果它依赖于某些操作系统级别的function,我怀疑文件更改通知会丢失在链中某处。 任何人都有一个想法,可能是什么原因和/或我怎么可以去debugging呢?