You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@guacamole.apache.org by "Michael Jumper (JIRA)" <ji...@apache.org> on 2019/06/24 02:01:00 UTC

[jira] [Commented] (GUACAMOLE-824) Guacamole ignoring GUACAMOLE_HOME in Docker

    [ https://issues.apache.org/jira/browse/GUACAMOLE-824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16870745#comment-16870745 ] 

Michael Jumper commented on GUACAMOLE-824:
------------------------------------------

{quote}
Can anyone see what I'm doing wrong here?
{quote}

Please don't open a bug report if you simply have a question about Guacamole. Use the user@guacamole.apache.org mailing list instead:

http://guacamole.apache.org/support/#mailing-lists

{quote}
It appears to be ignoring the GUACAMOLE_HOME variable.
{quote}

It isn't ignoring the variable; the Docker image simply has its own behavior layered on top of that variable.

Setting {{GUACAMOLE_HOME}} on the Docker image tells the image what to use as the template for {{GUACAMOLE_HOME}}. It does not have the same effect as {{GUACAMOLE_HOME}} would under normal circumstances. The {{GUACAMOLE_HOME}} used by Guacamole within the Docker image will always be {{/root/.guacamole}}, however the directory you specify via {{-e GUACAMOLE_HOME=/some/directory}} will be copied over during startup to form the basis of the {{GUACAMOLE_HOME}} that ultimately used.

http://guacamole.apache.org/doc/gug/guacamole-docker.html#guacamole-docker-guacaamole-home

> Guacamole ignoring GUACAMOLE_HOME in Docker
> -------------------------------------------
>
>                 Key: GUACAMOLE-824
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-824
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-client
>            Reporter: Chris Walker
>            Priority: Major
>
> Hi,
> Can anyone see what I'm doing wrong here? It appears to be ignoring the GUACAMOLE_HOME variable.
> I have tried using both the version from Docker Hub and the one from Github.
> If I add the -e GUACD_HOSTNAME and -e GUACD_PORT, I no longer get the error, but the Docker logs show the home is "/root/.guacamole"
> {code:none}
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker build --tag=guacamole-client-master .
> Sending build context to Docker daemon     17MB
> Step 1/13 : ARG TOMCAT_VERSION=8.5
> Step 2/13 : ARG TOMCAT_JRE=jre8
> Step 3/13 : FROM maven:3-jdk-8 AS builder
>  ---> 23d9c051cfbe
> Step 4/13 : ARG BUILD_PROFILE
>  ---> Using cache
>  ---> 7f35aa577267
> Step 5/13 : ENV     BUILD_DIR=/tmp/guacamole-docker-BUILD
>  ---> Using cache
>  ---> 565fcc2ce579
> Step 6/13 : COPY guacamole-docker/bin/ /opt/guacamole/bin/
>  ---> Using cache
>  ---> 44a94bd2530d
> Step 7/13 : COPY . "$BUILD_DIR"
>  ---> Using cache
>  ---> 0b7ced7e3535
> Step 8/13 : RUN /opt/guacamole/bin/build-guacamole.sh "$BUILD_DIR" /opt/guacamole "$BUILD_PROFILE"
>  ---> Using cache
>  ---> 1ffc8f73b54b
> Step 9/13 : FROM tomcat:${TOMCAT_VERSION}-${TOMCAT_JRE}
>  ---> 3639174793ba
> Step 10/13 : WORKDIR /opt/guacamole
>  ---> Using cache
>  ---> e950afe8e728
> Step 11/13 : COPY --from=builder /opt/guacamole/ .
>  ---> Using cache
>  ---> 9071c3b297fb
> Step 12/13 : EXPOSE 8080
>  ---> Using cache
>  ---> 508dc0161724
> Step 13/13 : CMD ["/opt/guacamole/bin/start.sh" ]
>  ---> Using cache
>  ---> cfc265b66e10
> Successfully built cfc265b66e10
> Successfully tagged guacamole-client-master:latest
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker images
> REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
> guacamole-client-master   latest              cfc265b66e10        24 hours ago        501MB
> <none>                    <none>              1ffc8f73b54b        24 hours ago        826MB
> maven                     3-jdk-8             23d9c051cfbe        12 days ago         499MB
> tomcat                    8.5-jre8            3639174793ba        5 weeks ago         463MB
> guacamole/guacd           latest              57f6ce568e0d        6 months ago        395MB
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker run --name guacamole -d -p 8080:8080 -v /guacamole:/etc/guacamole -e GUACAMOLE_HOME=/etc/guacamole guacamole-client-master
> 5c6cfc0fa4e559bde0c7f36ad43d2c1bc8c5a7e32f8c84532ae860973f53ac9f
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker ps -a
> CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                      PORTS                    NAMES
> 5c6cfc0fa4e5        guacamole-client-master   "/opt/guacamole/bin/..."   16 seconds ago      Exited (1) 13 seconds ago                            guacamole
> db504d9bcd1f        guacamole/guacd           "/bin/sh -c '/usr/lo..."   2 days ago          Up 2 days                   0.0.0.0:4822->4822/tcp   guacd
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker logs 5c6cfc0fa4e5
> FATAL: Missing GUACD_HOSTNAME or "guacd" link.
> -------------------------------------------------------------------------------
> Every Guacamole instance needs a corresponding copy of guacd running. To
> provide this, you must either:
> (a) Explicitly link that container with the link named "guacd".
> (b) If not using a Docker container for guacd, explicitly specify the TCP
>     connection information using the following environment variables:
> GUACD_HOSTNAME     The hostname or IP address of guacd. If not using a guacd
>                    Docker container and corresponding link, this environment
>                    variable is *REQUIRED*.
> GUACD_PORT         The port on which guacd is listening for TCP connections.
>                    This environment variable is optional. If omitted, the
>                    standard guacd port of 4822 will be used.
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker ps -a
> CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                      PORTS                    NAMES
> 5c6cfc0fa4e5        guacamole-client-master   "/opt/guacamole/bin/..."   46 seconds ago      Exited (1) 44 seconds ago                            guacamole
> db504d9bcd1f        guacamole/guacd           "/bin/sh -c '/usr/lo..."   2 days ago          Up 2 days                   0.0.0.0:4822->4822/tcp   guacd
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker rm -f 5c6cfc0fa4e5
> 5c6cfc0fa4e5
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker run --name guacamole -d -p 8080:8080 -v /guacamole:/etc/guacamole -e GUACAMOLE_HOME=/etc/guacamole guacamole/guacamole
> Unable to find image 'guacamole/guacamole:latest' locally
> latest: Pulling from guacamole/guacamole
> bc9ab73e5b14: Pull complete
> 193a6306c92a: Pull complete
> e5c3f8c317dc: Pull complete
> d21441932c53: Pull complete
> fa76b0d25092: Pull complete
> 346fd8610875: Pull complete
> 3ca5d6af9022: Pull complete
> c06cfa2cea32: Pull complete
> 205950a5a114: Pull complete
> 6332a55c669e: Pull complete
> b5efe96df0e8: Pull complete
> b4e0e542b56a: Pull complete
> ea61ef77e8bf: Pull complete
> 21fcace6c45e: Pull complete
> Digest: sha256:890f55bafcdb4789d45b90ef5e1aab21d23849c413bd16b1971ffb7d5243a590
> Status: Downloaded newer image for guacamole/guacamole:latest
> bbea0f0dd48ac2fa394cf7822b1ce0d7a3779850d2232ad964d445badd93cfea
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker ps -a
> CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS                    NAMES
> bbea0f0dd48a        guacamole/guacamole   "/opt/guacamole/bin/..."   35 seconds ago      Exited (1) 31 seconds ago                            guacamole
> db504d9bcd1f        guacamole/guacd       "/bin/sh -c '/usr/lo..."   2 days ago          Up 2 days                   0.0.0.0:4822->4822/tcp   guacd
> root@rdpext:~/guacamole-client/guacamole-client-master$ docker logs bbea0f0dd48a
> FATAL: Missing GUACD_HOSTNAME or "guacd" link.
> -------------------------------------------------------------------------------
> Every Guacamole instance needs a corresponding copy of guacd running. To
> provide this, you must either:
> (a) Explicitly link that container with the link named "guacd".
> (b) If not using a Docker container for guacd, explicitly specify the TCP
>     connection information using the following environment variables:
> GUACD_HOSTNAME     The hostname or IP address of guacd. If not using a guacd
>                    Docker container and corresponding link, this environment
>                    variable is *REQUIRED*.
> GUACD_PORT         The port on which guacd is listening for TCP connections.
>                    This environment variable is optional. If omitted, the
>                    standard guacd port of 4822 will be used.
> root@rdpext:~$ cat /guacamole/guacamole.properties
> mysql-hostname: 192.168.8.152
> mysql-port: 3306
> mysql-password: ****
> guacd_hostname=192.168.8.152
> guacd_port=4822
> root@rdpext:~$ telnet 192.168.8.152 4822
> Trying 192.168.8.152...
> Connected to 192.168.8.152.
> Escape character is '^]'
> root@rdpext:~$ docker run --name guacamole -d -p 8080:8080 -v /guacamole:/etc/guacamole -e GUACAMOLE_HOME=/etc/guacamole -e GUACD_HOSTNAME=192.168.8.152 -e GUACD_PORT=4822 guacamole/guacamole
> 2b1268e2d61e91589b3d4d317a440075322de8bab13552e0d34cbe7dbe0102fc
> root@rdpext:~$ docker ps
> CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
> 2b1268e2d61e        guacamole/guacamole   "/opt/guacamole/bin/…"   53 seconds ago      Up 52 seconds       0.0.0.0:8080->8080/tcp   guacamole
> db504d9bcd1f        guacamole/guacd       "/bin/sh -c '/usr/lo…"   2 days ago          Up 2 days           0.0.0.0:4822->4822/tcp   guacd
> {code}
> {code:none}
> $ docker logs 2b1268e2d61e | grep -i home
> 01:46:58.249 [localhost-startStop-1] INFO  o.a.g.environment.LocalEnvironment - GUACAMOLE_HOME is "/root/.guacamole".
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)