Testlauf
Testen Sie das Image, zum Beispiel mit "docker run --network host". Das Image öffnet per Default die Ports 8080 (HTTP), 8443 (HTTPS) und 8009 (AJP). Ersetzen Sie im folgenden Kommando das Tag 2.0.4-129 mit dem Tag des Ihnen vorliegenden Images, und führen Sie es aus:
docker run --network host gocompliant/toolsuite:2.0.4-129
Danach sollten Sie auf diesem Rechner mit einem Browser auf http://localhost:8080 zugreifen können und die folgende Fallback-Seite sehen, die bei fehlerhafter Datenbank-Konfiguration angezeigt wird.
Die Option "--network host" weist Docker an, den Network Stack des Hosts zu verwenden. Falls Sie dies nicht möchten oder die Ports 8080 / 8009 auf dem Host bereits belegt sind, führen Sie den Testlauf mit Port Mapping durch, z.B. auf den Port 8888:
docker run -p 8888:8080 gocompliant/toolsuite:2.0.4-d-129
Importieren der Datenbank
Erstellen Sie Ihre Datenbankinstanz (MySQL oder Oracle) und importieren Sie den von uns zur Verfügung gestellten Datenbank-Dump. Der Dump enthält bereits die Benutzer "goco" und "quartz" sowie die zugehörigen Schemata und kann (Beispiel Oracle) mit folgendem Kommando importiert werden:
impdp ... schemas=goco,quartz directory=DUMP_DIR dumpfile=goco.dmp
Beispielkonfiguration mit docker-compose
Die Applikation benötigt Verbindungen zu der oben erwähnten Datenbank. Diese Verbindungen werden über die Tomcat-Konfiguration conf/context.xml in das Image injiziert. Erstellen Sie in einem beliebigen Verzeichnis ein File docker-compose.yml mit folgendem Beispiel-Inhalt:
version: '2' services: gocompliant: image: gocompliant/toolsuite:2.0.4-d-129 container_name: goco network_mode: host mem_limit: 3500m environment: - "JAVA_OPTS=-Xms2g -Xmx3g" volumes: - ./conf/context.xml:/usr/local/tomcat/conf/context.xml - ./logs:/usr/local/tomcat/logs - ./logs-gocompliant:/usr/local/tomcat/logs-gocompliant
Erstellen Sie danach das File ./conf/context.xml (bzw. passen Sie die Pfadangaben nach Ihren Vorstellungen an). Den Inhalt des Files können Sie dem Wiki-Abschnitt MySQL context.xml oder Oracle context.xml entnehmen. Statt des Networking Mode "host" können Sie natürlich auch "bridge" verwenden und den Datenbank-Listener sowie die Docker Network Bridge entsprechend konfigurieren, damit der Container eine Verbindung zu der ausserhalb des Containers laufenden Datenbank aufbauen kann.
Die beiden Log-Verzeichnisse des Containers werden in diesem Beispiel nach aussen in die Verzeichnisse ./logs (allgemeine Tomcat-Logs) und ./logs-gocompliant (spezifische GoCompliant-Logs) gemappt.
Optional: Installation ihrer Zertifikate
Tomcat ist für die Verwendung mit SSL (Port 8443) konfiguriert. Die Applikation bringt selbst-signierte Zertifikate mit, die durch Ihre eigenen ersetzt werden sollten. Der SSL-Connector ist im conf/server.xml bereits folgendermassen konfiguriert:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" maxThreads="150" SSLEnabled="true" > <!--<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />--> <SSLHostConfig> <Certificate certificateKeyFile="conf/goco-key.pem" certificateFile="conf/goco-cert.pem" certificateChainFile="conf/goco-certchain.pem" /> </SSLHostConfig> </Connector>
Wenn dieser Connector für Ihre Zwecke ausreicht, können Sie Ihre eigenen Zertifikate entsprechend benennen und über Volumes in /usr/local/tomcat/conf/ einbinden. Ansonsten erstellen Sie eine eigene conf/server.xml.
Start mit docker-compose
Nachdem Sie das docker-compose.yml erstellt haben, starten Sie das Image mit dem Befehl
docker-compose up -d
Sie können nun wieder mit dem Browser zugreifen und sollten eine Login-Seite sehen. Nehmen Sie mit uns Kontakt auf, um das initiale Login vorzunehmen und ein Authentisierungs-Verfahren zu konfigurieren.
Test-Instanz
Sie können eine Test-Instanz als solche kennzeichnen, indem folgenden Parameter zu JAVA_OPTS hinzufügen: -Dgocompliant.environment=TEST. Diese Instanz wird dann in der Titelseite den Umgebungsnamen (TEST) anzeigen, sowie einen entsprechenden Zusatz zum Betreff von verschickten Emails hinzufügen. Ein Konfigurationsbeispiel:
... environment: - "JAVA_OPTS=-Xms2g -Xmx3g -Dgocompliant.environment=TEST" ...
Monitoring
Sie können eine einfache Ping-Seite aufrufen unter /util/status/ping.jsp: