Kann nach Installation nie auf Docker Container zugreifen

Status
Für weitere Antworten geschlossen.

Tom1981

Benutzer
Registriert
14. Jan. 2018
Beiträge
9
Reaktionspunkte
0
Punkte
1
Hallo,

ich habe schon mehrere Versuche mit Docker unternommen, um Medienserver auf meiner DS216+II zu installieren (probiert mit Calibre, Ubooquity und Komga) , jedoch sind alle Versuche gescheitert.
Ich habe es zwar meist geschafft die Container zum laufen zu bekommen, bin aber in der Regel daran gescheitert, dass ich nicht darauf zugreifen konnte, wenn ich den entsprechenden Konfigurationslink im Browser aufrufen wollte (Connection Fehler).

Ich habe hierbei sowohl den Installationsweg über ein angepasstes Skript, als auch die manuelle Installation probiert und mich dabei z.b. im Falle von Ubooquity an folgende Anleitungen gehalten:

-Skript: https://mariushosting.com/how-to-install-ubooquity-on-your-synology-nas/
-Manuell: https://mariushosting.com/how-to-install-ubooquity-on-your-synology-nas/

Zwischen den unterschiedlichen Versuchen habe ich immer alle Reste der vorherigen Installation entfernt.

Bei der Installation war ich mit einem User mit Adminrechten angemeldet, die Ordner wurden angepasst, als Ports die vorausgewählten 2202 und 2203 belassen, und ich habe die PGID und PUID eingetragen, die ich nach folgender Methode ermittelt habe: https://mariushosting.com/synology-find-uid-userid-and-gid-groupid-in-5-seconds/

Habt ihr eine Idee was ich falsch gemacht haben könnte?

Viele Grüße

Tom
 
Mach doch mal Screenshots von der Container Konfiguration, auf der man die Portmappings sieht.
Es auch nie verkehrt in den Container-Logs zu schauen, ob es Fehler gibt, die dafür sorgen, dass ein Container in einer Schleife neu startet und stirbt. Sprich: der Container nie in den Zustand kommt die Anwendung von außen erreichbar zu machen.

Desto weniger wir raten müssen was Du wie konfiguriert hast, desto eher kann man Dir zielgerichtet helfen.
 
Danke für deinen Beitrag!
Im Anhang sind die beiden Container Protokolle, unten sind die Scripts sowie die von Docker exportierten Einstellungen.

Scripts:

Komga
docker run -d --name=komga \
-p 8341:8080 \
-e PUID=1028 \
-e PGID=100 \
-e TZ=Europe/Bucharest \
-v /volume1/docker/komga/config:/config \
-v /volume1/docker/komga/data:/data \
--restart always \
gotson/komga
Ubooquity
docker run -d --name=ubooquity \
-p 2202:2202 \
-p 2203:2203 \
-e PUID=1028 \
-e PGID=100 \
-e TZ=Europe/Bucharest \
-e MAXMEM=8192 \
-v /volume1/docker/ubooquity:/config \
-v /volume1/download/8 comics \
-v /volume1/download/9 zeitschriften \
--restart always \
ghcr.io/linuxserver/ubooquity

Einstellungen:

Ubooquity
{
"CapAdd" : null,
"CapDrop" : null,
"cmd" : "",
"cpu_priority" : 0,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enable_service_portal" : null,
"enabled" : false,
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "PS1",
"value" : "$(whoami)@$(hostname):$(pwd)\\$ "
},
{
"key" : "HOME",
"value" : "/root"
},
{
"key" : "TERM",
"value" : "xterm"
},
{
"key" : "S6_CMD_WAIT_FOR_SERVICES_MAXTIME",
"value" : "0"
},
{
"key" : "S6_VERBOSITY",
"value" : "1"
},
{
"key" : "S6_STAGE2_HOOK",
"value" : "/docker-mods"
},
{
"key" : "PUID",
"value" : "1028"
},
{
"key" : "PGID",
"value" : "100"
}
],
"exporting" : false,
"id" : "fd3a2f2d6fa87015c2ced043a84c78f2be10db742dee364eb3c096b1bfd71571",
"image" : "linuxserver/ubooquity:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [],
"memory_limit" : 0,
"name" : "linuxserver-ubooquity1",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 2202,
"host_port" : 2202,
"type" : "tcp"
},
{
"container_port" : 2203,
"host_port" : 2203,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false,
"enable_status_page" : false,
"enable_web_page" : false,
"web_page_url" : ""
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/ubooquity",
"mount_point" : "/config",
"type" : "rw"
},
{
"host_volume_file" : "/docker",
"mount_point" : "/comics",
"type" : "rw"
},
{
"host_volume_file" : "/DOWNLOAD/9 Zeitschriften",
"mount_point" : "/zeitschriften",
"type" : "rw"
}
]
}
Komga
{
"CapAdd" : null,
"CapDrop" : null,
"cmd" : "",
"cpu_priority" : 0,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enabled" : false,
"env_variables" : [
{
"key" : "PATH",
"value" : "/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "JAVA_HOME",
"value" : "/opt/java/openjdk"
},
{
"key" : "LANG",
"value" : "en_US.UTF-8"
},
{
"key" : "LANGUAGE",
"value" : "en_US:en"
},
{
"key" : "LC_ALL",
"value" : "en_US.UTF-8"
},
{
"key" : "JAVA_VERSION",
"value" : "jdk-11.0.18+10"
},
{
"key" : "KOMGA_CONFIGDIR",
"value" : "/config"
},
{
"key" : "PUID",
"value" : "1028"
},
{
"key" : "PGID",
"value" : "100"
},
{
"key" : "TZ",
"value" : "Europe/Bucharest"
}
],
"exporting" : false,
"id" : "de32751f50c8a2ee5985c4b8a50f203505b7efd0e0601bff18917b0f9aa440f3",
"image" : "gotson/komga",
"is_ddsm" : false,
"is_package" : false,
"links" : [],
"memory_limit" : 0,
"name" : "komga",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "default",
"port_bindings" : [
{
"container_port" : 8080,
"host_port" : 8341,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false,
"enable_status_page" : false,
"enable_web_page" : false,
"web_page_url" : ""
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/komga/config",
"mount_point" : "/config",
"type" : "rw"
},
{
"host_volume_file" : "/docker/komga/data",
"mount_point" : "/data",
"type" : "rw"
}
]
}
 

Anhänge

kann bei Komga jetzt keine fehler finden.

Der Aufruf müsste bei dir über
Code:
http://<IPderDS>:8341
klappen
 
Falls du die Firewall auf der DS aktiv hast: sind die benötigten Ports dort zugelassen?
 
Die konkret verwendeten `docker run` Befehle sind natürlich viel besser als Screenshots der Container-Einstellungen.
Wenn nachträglich nicht an den Container rumgefummelt wurde, sollten der Export dasselbse + die über das Image geerbte Einstellungen zeigen.

Zu Komga:
- An den Logs erkennt man das es eine (Java) Spring Boot Anwendung ist.
- Du konfigurierst Environment Variablen (PUID und PGID) die gar nicht genutzt werden - sie stehen nicht in der Doku und das Dockerfile vom Image startet den Java-Prozess direkt -> Sprich: variablen wirkungslos! Richtig ist stattdessen ` --user 1028:100` zu verwenden (siehe Anleitung)
- Log enthält nur INFO-Einträge -> Container läuft!

Kann also nur an der Firewall liegen
 
Zu Ubooquity:
- Es ist gestern Abend gestorben, Grund unklar: 2023-02-01T23:01:12.468351666Z,stdout,Exception: java.lang.IllegalStateException thrown from the UncaughtExceptionHandler in thread Thread-2"""
- Es sind logs mit unerwarteten http-Anfragen sein, das ist vermutlich etwas das du versucht hast zu machen (oder irgendeine Client Anwendung) oder vielleicht ein ungeschikter healthcheck.

Ansonsten sollte das genauso erreichbar sein.

In beiden Fällen gilt: Firewall prüfen. aus Sicht der Firewall sitzen Docker Container in einem fremden Netzwerk.
 
Danke für eure Tips!
Tatsächlich waren die Ports in der Firewall nicht freigeschaltet, was ich jetzt behoben habe.

Da auch nach Portfreigabe die Programme nicht aufrufbar waren, habe ich sowohl Ubooquity als auch Komga mit den o.g. Einstellungen neu installiert, was leider auch nichts brachte (siehe Logs, Ubooquity Log aufgrund Größe als Anhang).

Bei Komga habe ich weitere Installationsversuche unternommen.
Zuerst habe ich versucht die Zeile von haydibe mit ` --user 1028:100` statt PGID/PUID einzusetzen, allerdings hat das nicht geklappt, bzw. ich habe es falsch gemacht.
Beim 1:1 einfügen in das Skript des Aufgabenmanagers gab es beim ersten Versuche die Meldung "/bin/bash: line 3: -e: command not found".
Ich habe die Zeile dann angepasst in -e user 1028:100 \, was aber zur Meldung "Unable to find image '1028:100' locally" geführt hat.

Im dritten Versuche habe ich statt dem Skript aus der Anleitung von Mariushosting das von der Dockerseite selbst genutzt und meinen Pfad angepasst. Der Container wurde zwar ohne Fehlermeldung installiert, wurde aber sofort als gestoppt angezeigt und auch im Log war nichts zu finden.


Skript Komga V1 Mariushosting
docker run -d --name=komga \
-p 8341:8080 \
--user 1028:100
-e TZ=Europe/Bucharest \
-v /volume1/docker/komga/config:/config \
-v /volume1/download/9 zeitschriften:/data \
--restart always \
gotson/komga
Skript Komga V3 off. Komga Seite
docker create \
--name=komga \
--user 1028:100 \
-p 8080:8080 \
--mount type=bind,source=/volume1/docker/komga/config,target=/config \
--mount type=bind,source=/volume1/docker/komga/data,target=/data \
--restart unless-stopped \
gotson/komga

komga
date,stream,content
2023-02-04T16:29:04.317634767Z,stdout,"2023-02-04 18:28:55.425 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : No active profile set, falling back to 1 default profile: \"default\"
"
2023-02-04T16:29:04.317536116Z,stdout,2023-02-04 18:28:52.672 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : Starting ApplicationKt using Java 11.0.18 on 224000d3aef0 with PID 1 (/app/BOOT-INF/classes started by root in /app)

2023-02-04T16:29:04.317383639Z,stdout,2023-02-04 18:28:29.020 WARN 1 --- [ main] o.s.boot.system.ApplicationPid : ManagementFactory.getRuntimeMXBean().getName() took 6266 milliseconds to respond. This may be due to slow host name resolution. Please verify your network configuration.

2023-02-04T16:28:53.592577458Z,stdout,2023-02-04 18:27:59.903 WARN 1 --- [ main] o.s.boot.StartupInfoLogger : InetAddress.getLocalHost().getHostName() took 16693 milliseconds to respond. Please verify your network configuration.

2023-02-04T16:26:23.257611913Z,stdout,

2023-02-04T16:26:23.257550799Z,stdout,Version: 0.161.0

2023-02-04T16:26:23.2575
 

Anhänge

Ich habe es gerade mal per SSH versucht:

Code:
docker run -d --name=komga -p 8341:8080 -e PUID=1026 -e PGID=100 -e TZ=Europe/Berlin -v /volume2/docker/komga/config:/config -v /volume2/docker/komga/data:/data --restart always gotson/komga

Damit konnte ich problemlos per http://192.168.x.x:8341 (IP des NAS) auf die Webseite vom Komga zugreifen. Habe es dann aber nicht weiter getestet. Aber der Zugriff funktioniert erstmal grundsätzlich, siehe Screenshot

Du kannst den obigen Befehl auch über die Aufgabenplanung einrichten (bitte die Pfadangaben zu den Ordner anpassen, bei mir liegt der Ordner /docker auf volume2). Aber gib ihn erstmal zum testen in einem SSH-Terminal ein.
 

Anhänge

  • komga.png
    komga.png
    50,8 KB · Aufrufe: 12
Zuletzt bearbeitet:
Hallo Matt, vielen Dank für deine Mühe!
Damit hat es jetzt tatsächlich funktioniert.
Das einzige "Problem" was ich jetzt noch habe ist, dass die Installation nur funktioniert, wenn die Daten auch im Komga Ordner liegen.
Wenn ich alternativ meinen gewünschten Ordnerpfad angebe, wird dieser nicht gefunden.
Ich vermute mal, dass liegt an der Ordnerfreigabe.
Unter welchem Benutzer greift denn Docker üblicherweise auf die Ordner zu?
 
Zuletzt bearbeitet:
Eher an den User 1028:100 den du angeben hast. Dieser User muss auch die entsprechenden Rechte haben, um auf den Ordner zugreifen zu können.
 
  • Like
Reaktionen: ctrlaltdelete
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat