GateOne - Docker

  • Hallo,
    ich habe mir jetzt mal den Docker-Container gateone installiert und gestartet...wie komme ich an die Anwendung ran? (habe noch nichts mit Docker gemacht)


    in der ContainerStation sehe ich zwar das Terminal und kann Befehle hinsenden, aber wie bekomme ich die Anwendung selbst auf?


    Gruß Frank

  • Die Anwendung selbst läuft als Webdienst. Du musst also nur in einem Browser deiner Wahl die URL mit dem entsprechenden Port (den du beim Erstellen des Conainers gemappt hast) aufrufen. Zum Beispielhttps://IP_DES_NAS:553wenn du beim erstellen des Containers den Port 553 auf den von GateOne bereitgestellten Port 553 gemappt hast.

  • naja du musst zumindest die Portweiterleitung vom Container zum Host angeben, sonst kommst du nicht auf den Webservice. Stell also bei der Containererstellung eine Portweiterleitung von 553 nach 553 ein, oder starte den Container über die Kommandozeile mit: docker run -p 553:553 liftoff/gateone. Dann sollte der Zugriff klappen.

  • habe den Befehl probiert, komme auf 553 aber keine antwort (http und https probiert)
    beim ausführen zeigt mir aber die Konsole folgendes an:


    ohne das :latest ist es das gleiche...somit müsste ich wohl 8000 weiterleiten statt 553....muss ich später mal probieren...muss erstmal los

  • ja das stimmt natürlich, ich hatte die Ports nicht mehr so genau im Kopf.docker run -p 553:8000 liftoff/gateone:latest sollte dir den Port 553 des NAS auf den Port 8000 des Containers binden.

  • ich kam nun aufs terminal raus, kann mich aber nirgends hin verbinden, weder localhost (könnte innerhalb des containers sein), noch auf die LAN-IP des QNAP...


    muss man da noch irgendwie die Verbindung nach außen erlauben (firewall von ContainerStation)?


    in der Containerstation existiert die lxcbr0 mit IP-Subnet 10.0.3.0/24...dem docker selbst wurde auch die 10.0.3.1 zugewiesen...sehe nirgends die nat-konfiguration, welche für zugriff nötig ist. LXC-Container haben jedenfalls Netzwerkzugriff (debian-lcx macht update)

    Einmal editiert, zuletzt von frank-w ()

  • Ich melde mich lokal immer über die DynDNS Adresse an, da das bei mir immer geklappt hat, habe ich mich noch nicht mit weiteren Details/Freigaben beschäftigt. In 80% der Fälle nutze ich den Dienst um mich auf "fremde" Server zu verbinden.

  • dyndns funktioniert bei mir nicht,da der ssh vom NAS im router gesperrt ist.
    Aber lan-ip müsste normal funktionieren...kommt aber timeout

  • Dann muss vermutlich wirklich noch etwas an den LAN Einstellungen des Containers vorgenommen werden. Bei mir klappt das Verbinden auf die Lokale IP Adresse auch nicht. Auf andere Geräte im LAN kann ich mich jedoch problemlos anmelden.
    Ich habe mich gerade nochmal schlau gemacht und bin auf dieses Issue gestoßen: https://github.com/docker/docker/issues/1143
    dort wird soweit erklärt dass es an der IP Adresse des Containers liegt. Weiter unten taucht der Befehl


    Bash
    netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}'

    auf mit dem man die IP des Hosts ermitteln kann.
    Ein kurzer Test ob ich mich auf diese IP verbinden kann war erfolgreich, ich kam ohne Probleme auf das NAS.

    Einmal editiert, zuletzt von tuxflo ()

  • wie kannst du netstat in dem Container aufrufen? oder auf dem host aufrufen für das docker-interface (wenns eins gibt)

  • Den netstat Befehl kannst du entweder über das Container Terminal der Container Station aufrufen, oder du startest dir via docker exec -it liftoff/gateone:latest /bin/bash eine bash Sitzung innerhalb des Containers.

  • Bash
    [~] # docker run -p 553:8000 liftoff/gateone:latest#startet normal, taucht auch (2x) in der ContainerStation auf, wovon einer läuft (fervent_curie)...^C[I 160915 08:38:42 server:4570] Caught KeyboardInterrupt.  Killing sessions...[I 160915 08:38:42 server:4575] Clearing cache_dir: /tmp/gateone_cache[I 160915 08:38:42 server:4578] pid file removed.[~] # docker exec -it liftoff/gateone:latest /bin/bashError response from daemon: No such container: liftoff/gateone:latest

    scheinbar registriert "docker run" den Container nicht richtig, so dass "docker exec" danach findet
    auch der versuch bash mit docker run mit zu starten klappte nicht...nun taucht ein 4. Container auf mit HInweis auf liftoff/Gateone:latest und keiner läuft


    ich habe aber deinen Test im LXC nachgestellt...dort funktioniert der zugriff auf die LAN-IP genausowenig


  • #startet normal, taucht auch (2x) in der ContainerStation auf, wovon einer läuft (fervent_curie)

    In dem angehangenen Screenshot steht aber bei runnig eine 0, also startet der nicht normal. Geb den run Befehl mal noch den Parameter -d mit, damit der Conatainer auch weiterläuft, oder hast du den bewusst mit Ctrl+C abgebrochen?

  • strg +z (anhalten) ging nicht...konnte ja nichts drin machen.
    -d für detach/daemon nehm ich an


    aber das fehlerbild konnte ich mit lxc nachstellen, siehe Konsolen-log


    tw. Gibts sowas wie man-pages, wo man die Parameter nachschauen kann?

  • Naja ich nutze das Internet und die offizielle Docker reference Seite (https://docs.docker.com/v1.8/reference/commandline/cli/)
    Zu LXC kann ich gar nichts sagen, da ich bis auf die Linus Station damit noch nichts zu tun hatte.


    Ich würde den Container einfach starten und dann der Einfachheit halber das Terminal der Container Station nutzen. Falls du doch den exec Befehl nutzen willst, teste mal statt liftoff/gateone die ID des Containers. Die kannst du dir mit docker ps anzeigen lassen.

  • Code
    [~] # docker run -d -p 553:553 liftoff/gateone
    258227d3b616644f913fb5b361cc6b51b51e7fe0f441103a2a2e6a92d849a424
    [~] # docker exec -it liftoff/gateone:latest /bin/bash
    Error response from daemon: No such container: liftoff/gateone:latest

    laut containerStation läuft der Container...

  • ja, denn der Name liftoff/gateone:latest steht für das Image. Damit du auf den Container zugreifen kannst musst du die Container ID nehmen. In deinem Beispiel also:
    docker exec -it 258227d3b616644f913fb5b361cc6b51b51e7fe0f441103a2a2e6a92d849a424 /bin/bash

  • danke, bin jetzt auf der shell, aber weder netstat noch ifconfig existieren....über /proc/net habe ich auch die IPs nicht ermitteln können.


    das einzige was funktionierte war der ip-Befehl:

    bringt mir in sofern aber nichts, wenn ich auf die LAN-IP zugreifen möchte

  • habe heute die Info erhalten, dass das Problem mit dem Zugriff auf die LAN-IP jetzt "confirmed" ist, also von der Entwicklungsabteilung reproduziert wurde...evtl. ist es in derḿ nächsten Update gefixt