i struggling start aerogear unified push server in docker environment mysql databases. following aerogear documentation here.
so have started mysql docker container
docker run --name aerogearsql -e mysql_root_password=sqlpwd -d mysql on have applied said in aerogear documentation
docker exec -ti aerogearsql -u root -p mysql> create database unifiedpush default character set = "utf8" default collate = "utf8_general_ci"; mysql> create user 'unifiedpush'@'localhost' identified 'unifiedpush'; mysql> grant select,insert,update,alter,delete,create,drop on unifiedpush.* 'unifiedpush'@'localhost'; then have prepared docker image using following docker file applying in aerogear documentation. here docker file
from jboss/wildfly maintainer yves.nicolas@dynamease.com env aerogear_version 1.0.3 env aerogear_files /usr/local/share/aerogear env aerogear_dir $aerogear_files/aerogear-unifiedpush-server-$aerogear_version env jboss_home /opt/jboss/wildfly # run below root user user root # set java environment variable env java_home /usr/lib/jvm/java-1.7.0-openjdk run mkdir -p $aerogear_files && chmod -r ugo+rwx $aerogear_files # install maven needed sql run curl -l -o /etc/yum.repos.d/epel-apache-maven.repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo \ && yum -y install apache-maven && yum clean # switch jboss user user jboss # aerogear version workdir $aerogear_files run curl -l -o aerogear-unifiedpush-server-$aerogear_version-dist.tar.gz https://github.com/aerogear/aerogear-unifiedpush-server/releases/download/$aerogear_version/aerogear-unifiedpush-server -$aerogear_version-dist.tar.gz \ && tar -xvf aerogear-unifiedpush-server-$aerogear_version-dist.tar.gz \ && cp -r aerogear-unifiedpush-server-$aerogear_version/databases/src/main/resources/modules/com $jboss_home/modules/ # sql dependency maven run mvn dependency:copy -dartifact=mysql:mysql-connector-java:5.1.18 -doutputdirectory=$jboss_home/modules/com/mysql/jdbc/main/ # can remove maven @ stage user root run yum -y erase apache-maven && yum clean # switch jboss user user jboss workdir $jboss_home volume $jboss_home expose 8443 cmd ["/opt/jboss/wildfly/bin/standalone.sh","-b","0.0.0.0"] from image, have started container linked mysql
docker run --name essaipush --link aerogearsql:mysql -v /home/yves:/host -p 8443:8443 yvnicolas/aerogear wildfly server starts nothing deployed yet using docker exec, have applied mysql cli script
$ ./path/to/server_home/bin/jboss-cli.sh --file=/path/to/mysql-database-config-wildfly.cli after had updated mysql-database-config-wildfly.cli use mysql instead of localhost database access host.
still using docker exec, move 2 war files standalone/deployment directory , doesnt go seems doesnt find database.
here of copies of exception raised. not familiar hibernate , jboss, can not tell whether root cause comes hibernate.dialect not set or communication problems between 2 containers.
20:07:47,524 error [org.jboss.as.controller.management-operation] (deploymentscanner-threads - 2) wflyctl0013: operation ("deploy") failed - address: ([("deployment" => "unifiedpush-server-wildfly.war")]) - failure description: {"wflyctl0080: failed services" => {"jboss.persistenceunit.\"unifiedpush-server-wildfly.war#unifiedpush-default\"" => "org.jboss.msc.service.startexception in service jboss.persistenceunit.\"unifiedpush-server-wildfly.war#unifiedpush-default\": org.hibernate.hibernateexception: access dialectresolutioninfo cannot null when 'hibernate.dialect' not set caused by: org.hibernate.hibernateexception: access dialectresolutioninfo cannot null when 'hibernate.dialect' not set"}} aused by: java.sql.sqlexception: access denied user 'unifiedpush'@'172.17.0.33' (using password: yes) @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1073) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3609) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3541) @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:943) @ com.mysql.jdbc.mysqlio.secureauth411(mysqlio.java:4113) @ com.mysql.jdbc.mysqlio.dohandshake(mysqlio.java:1308) @ com.mysql.jdbc.connectionimpl.coreconnect(connectionimpl.java:2336) @ com.mysql.jdbc.connectionimpl.connectonetryonly(connectionimpl.java:2369) @ com.mysql.jdbc.connectionimpl.createnewio(connectionimpl.java:2153) @ com.mysql.jdbc.connectionimpl.<init>(connectionimpl.java:792) @ com.mysql.jdbc.jdbc4connection.<init>(jdbc4connection.java:47) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) @ java.lang.reflect.constructor.newinstance(constructor.java:526) @ com.mysql.jdbc.util.handlenewinstance(util.java:411) @ com.mysql.jdbc.connectionimpl.getinstance(connectionimpl.java:381) @ com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:305) @ org.jboss.jca.adapters.jdbc.local.localmanagedconnectionfactory.createlocalmanagedconnection(localmanagedconnectionfactory.java:312)
we have docker-compose yml file (for 1.1.0) https://github.com/aerogear/aerogear-unifiedpush-server/tree/master/databases/docker
and bit of doc around that: https://staging.aerogear.org/docs/unifiedpush/ups_userguide/index/#docker-databases
Comments
Post a Comment