You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by David Russell-Park <Da...@fphcare.co.nz> on 2018/10/01 02:23:49 UTC

Guacamole in Docker- unable to connect to mysql

Hi all,

I am currently evaluating Guacamole but I'm having a bit of troubling setting it up within Docker.
I have followed the docker install instructions from the Guacamole documentation.
Guacamole is up and running and successfully linked to the guacd and mysql containers and I can ping them from with the Guacamole container. I have setup the Guacamole database in mysql and run the init script.

Issue: I'm presented with a blank page at http://localhost:8080/guacamole/#/ Docker logs returns the error below. There appears to be an issue connecting to the mysql container.

I've checked the permission with mysql and ensured the dbinit script has been applied correctly.

I've checked that the link between containers is up by installing mysql-client in the Guacamole container and connecting to mysql directly: I could successfully log in as the guacamole user and access the guacamole database.

I've checked the generation of guacamole.properties and all details are correct.

Any other ideas that I might have missed?

David



Error as follows:


01:40:02.557 [http-nio-8080-exec-6] ERROR o.a.g.rest.RESTExceptionWrapper - Unexpected internal error:
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
### The error may exist in org/apache/guacamole/auth/jdbc/user/UserMapper.xml
### The error may involve org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
### The error occurred while executing a query
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
01-Oct-2018 01:40:02.561 SEVERE [http-nio-8080-exec-6] null.null Mapped exception to response: 500 (Internal Server Error)
org.apache.guacamole.rest.APIException
        at org.apache.guacamole.rest.RESTExceptionWrapper.invoke(RESTExceptionWrapper.java:202)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

Re: Guacamole in Docker- unable to connect to mysql

Posted by Nick Couchman <vn...@apache.org>.
On Sun, Sep 30, 2018 at 10:24 PM David Russell-Park <
David.Russell-Park@fphcare.co.nz> wrote:

> Hi all,
>
>
>
> I am currently evaluating Guacamole but I’m having a bit of troubling
> setting it up within Docker.
>
> I have followed the docker install instructions from the Guacamole
> documentation.
>
> Guacamole is up and running and successfully linked to the guacd and mysql
> containers and I can ping them from with the Guacamole container. I have
> setup the Guacamole database in mysql and run the init script.
>
>
>
> Issue: I’m presented with a blank page at
> http://localhost:8080/guacamole/#/ Docker logs returns the error below.
> There appears to be an issue connecting to the mysql container.
>
>
>
> I’ve checked the permission with mysql and ensured the dbinit script has
> been applied correctly.
>
>
>
> I’ve checked that the link between containers is up by installing
> mysql-client in the Guacamole container and connecting to mysql directly: I
> could successfully log in as the guacamole user and access the guacamole
> database.
>
>
>
> I’ve checked the generation of guacamole.properties and all details are
> correct.
>
>
>
> Any other ideas that I might have missed?
>

Can you share the output of "docker container ls" on the Docker host, as
well as the contents of the guacamole.properties file within the Guacamole
container (making sure to redact any authentication information)?

-Nick

>