Portainer Template möglich zb. --link mysql_db_server:db einzufügen?

whazza83

New member
Hallo,
Ich bastele mir gerade eine eigene Portainer Template.json.

Klappt soweit auch alles Prima.
Aber leider finde ich keine Anleitung oder Antworten wie man --link in die Template einfügen kann.
Oder ist das bei einer Template nicht möglich?

Hatte es so versucht

Code:
"links": [
  "mysql_db_server:db"  
],

mfg
whazza
 
Hi,

ich weiss zwar was Du meinst, kann dazu aber nicht wirklich etwas sagen (bin da nicht so im Thema), allerdings ist unter https://docs.portainer.io/advanced/app-templates/format nichts bzgl. "links" aufgeführt. Ich denke, dass Du da auf der falschen Fährte bist...

Du solltest es vermutlich eher mit dem "Stack template definition format" versuchen und das sieht dann so aus: https://docs.portainer.io/advanced/app-templates/format#stack-template-definition-format. Es wird also nicht auf ein Image verwiesen, sondern auf eine vollständige Stack-Definition.

Ansonsten ggf. noch auf qualifiziertere Antworten warten 😅
 
link is ein Urgestein aus den Docker Anfängen, als es noch keine "User Defined Networks" gab. In der Dokumentation wird schon länger darauf hingewiesen, dass es deprecated ist, und demnach irgendwann verschwinden wird. Es war früher notwendig, um Container im Default Bridge-Netzwerk miteinander kommunizieren zu lassen. Heutzutage nutzt man das eigentlich nicht mehr, was auch der Grund sein könnte, warum Portainer Templates es nicht supporten.

Wenn man ein Compose Projekt (heisst lustigerweise Stack bei Portainer) verwendet, wird immer "User Defined Networks" angelegt, sodass ein Container einen anderen Container im selben Netzwerk direkt mit den Service- bzw. Container-Name ansprechen kann.
 
Schade wäre super gewesen wenn es geklappt hätte. So wäre PhpMyAdmin direkt mit MariaDB verbunden.

Dann muss Ich es wohl so lassen.

Code:
            "env": [
                {
                    "default": "Mariadb_Container_Ip_Fängt_Mit_172_An",
                    "label": "PMA_HOST",
                    "name": "PMA_HOST"
                }               
            ],
 
Wenn phpMyAdmin und mariadb im selben Template erzeugt werden und dabei so eine Compose datei rauskommt:

YAML:
services:
  phpmyadmin:
    image: ...
  mariadb:
    image: ...

Dann könnte der Default Wert für PMA_HOST der Service-Name `mariadb` sein.

Wenn nur phpMyAdmin im Template erzeugt wird:
YAML:
services:
  phpmyadmin:
    image: ...
Dann müsste PMA_HOST den published Host-Port des Mariadb Containers verwenden, oder man müsste den Container zusätzlich in dasselbe Container-Netzwerk wie die Datenbank aufnehmen, dann wäre könnte man PMA_HOST = service-name des MariaDB Containers verwenden.
 
Zuletzt bearbeitet:
Die hatte Ich mir in den letzten Tage sehr oft angesehen :)

Aber leider wäre das type 3 ein Compose stack.
Aber Ich wollte gerne alles in type 1 Container haben.

Muss dann halt damit leben das links und sysctls dort nicht klappt.

An sich ist es ja kein Problem. Wäre nur ne tolle Sache gewesen ohne was per Hand noch einzugeben :)
 
Wollte das jetzt doch mal Testen. Aber wie kann ich denn eine Selbstgehostete zb. phpmyadmin.yml so einfügen das Sie genommen wird?

Habe diese varianten getestet aber keine klappt:

Code:
            "repository": {
                "stackfile": "stack/phpmyadmin.yml",
                "url": "https://meine_webseite/online_sachen/raspberry/portainer_template"
            },         
Unable to clone git repository: failed to clone git repository: repository not found

Code:
            "repository": {
            "url": "https://meine_webseite/online_sachen/raspberry/portainer_template/stack/phpmyadmin.yml"
            },
Unable to clone git repository: failed to clone git repository: repository not found

Code:
            "repository": {
                "stackfile": "https://meine_webseite/online_sachen/raspberry/portainer_template/stack/phpmyadmin.yml"
            },         
Invalid repository URL. Must correspond to a valid URL format

Code:
            "stackfile": "https://meine_webseite/online_sachen/raspberry/portainer_template/stack/phpmyadmin.yml",
Invalid repository URL. Must correspond to a valid URL format

Code:
            "url": "https://meine_webseite/online_sachen/raspberry/portainer_template/stack/phpmyadmin.yml",
Invalid repository URL. Must correspond to a valid URL format

Edit: Glaube habe ein Lösung mit GitBucket gefunden. Werde Ich morgen mal testen.
 
Zuletzt bearbeitet:
Hattest Du nicht geschrieben, dass Du "Type:: 1" (=Container) verwenden willst?

Bei den Beispielen haben nur Swarm-- und ComposeStacks die Elemente uri und stackfile. Dort muss uri auf ein Git-Repo zeigen, und stackfile auf den relativen Pfad innerhalb des Repos.
 
Wollte es nur mal ausprobieren.
Hatte das soweit alles hinbekommen das man es mit git laden kann dank (GitBucket).

Aber mit den Stacks klappte das trotzdem alles nicht so wie es sollte.
Ich lasse es jetzt einfach so das man halt die Container Ip eingeben muss.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.279
Beiträge
52.539
Mitglieder
5.034
Neuestes Mitglied
Krissoff
Zurück
Oben