NEWS
Installation ioBroker Container (podman)
-
@pepe sagte in Installation ioBroker Container (podman):
Es wird kein Port freigegeben
Hast du
-p 8081:8081
-
@pepe was ist das?
wenn die Formatierungen nicht absichtlich sind, den Text in code-tags setzen!https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@homoran sagte in Installation ioBroker Container (podman):
@pepe was ist das?
https://www.ionos.de/digitalguide/server/knowhow/podman-vs-docker/
Zitat:
Was ist Docker?
Seit Docker 2013 als Open-Source-Software veröffentlicht wurde, erfreut sich die Technologie großer Beliebtheit. Als leichte und zugleich praktikable sowie verlässliche Lösung für die Anwendungsentwicklung ermöglicht Docker Nutzerinnen und Nutzern eine freiere Herangehensweise. Durch das Image als Abbild eines Containers lassen sich Pakete leicht als Daten transportieren und installieren. Ein einzelnes Docker-Image kann dabei eine unbegrenzte Anzahl von Containern kreieren, um z. B. OpenStack-Clouds zu realisieren. Docker ist dabei mit Ausnahme einiger weniger Schnittstellen zu Betriebssystem oder Hardware komplett isoliert. Die Container selbst enthalten lediglich jene Informationen, die wirklich benötigt werden, und sind dadurch vergleichsweise schlank.
Was ist Podman?
An die Stelle Dockers soll nun Podman treten – zumindest nach dem Willen von Red Hat Linux. Podman ist als Pod-Manager für die Erstellung und Weiterverarbeitung von Containern gedacht und mit der OCI-Container-Spezifikation kompatibel. Im Gegensatz zu Docker kommt Podman ohne Root-Rechte aus und soll daher im Vergleich sicherer sein. Podman baut auf Docker auf und war ursprünglich als Debugging-Tool geplant, bevor es zur Alternative bzw. zum Nachfolger der älteren Management-Tools wurde. Um die Umstellung zu erleichtern, ist es möglich, Befehle aus Docker in Podman zu verwenden. Das allein macht Podman allerdings noch nicht zu einem ebenbürtigen Nachfolger.
-
@glasfaser danke! gute Info!
die Frage bezog sich allerdings auf das -mein Handy Display sprengende- Text Konstrukt
-
@homoran sagte in Installation ioBroker Container (podman):
-mein Handy Display sprengende-
Ahhh ...
@pepe
Aus/Eingaben bitte in Code/Tags posten -
< gelöscht >
-
@pepe sagte in Installation ioBroker Container (podman):
----- Versions -----
/opt/scripts/iobroker_startup.sh: line 52: /usr/bin/node: Operation not permitted
----- node: -----
/usr/bin/env: ‘node’: Operation not permitted
----- npm: -----Sieht komisch aus
Normal so :
----- Docker-Image ----- ----- image: v7.0.1 ----- ----- build: 2022-07-05T18:51:52+00:00 ----- ----- ----- ----- Versions ----- ----- node: v16.15.1 ----- ----- npm: 8.11.0 ----- ----- ----- ----- ENV -----
-
Danke für die rasche Rückmeldung
Die Installation wird mit folgenden Befehl durchgeführt:
podman create -p 8081:8081 -v ./config:/opt/iobroker --name iobroker -h iobroker buanet/iobroker
Danach starte ich den Container und er führt die Installation durch.
Alles geht soweit durch. Nur der Port 8081 reagiert nicht@Glasfaser - danke für den Hinweis
leider keine idee was ich dagegen machen kannkann sein dass die Architektur im Hintergrund nicht passt?
das ganze läuft auf einen HP Microserver. Dort wiederum vsphere am laufen wegen verschiedener Betriebssysteme.
Auf diesen virtuelle maschine mit micro-os opensuse und dann mittels podman container. -
@pepe sagte in Installation ioBroker Container (podman):
-v ./config:/opt/iobroker
ist der Punkt vor /config so richtig .
Ich kenne leider podman nicht und deine Umgebung .Schau mal hier , vielleicht kannst du mit dieser Config was anfangen :
https://forum.iobroker.net/topic/54582/angebot-anleitung-iobroker-im-container
-
https://docs.podman.io/en/latest/markdown/podman-create.1.html#publish-p-ip-hostport-containerport-protocol
https://docs.podman.io/en/latest/markdown/podman-create.1.html#publish-all-pAusgewählte Einträge der Doku
--publish, -p=[[ip:][hostPort]:]containerPort[/protocol] Publish a container’s port, or range of ports, to the host. Both hostPort and containerPort can be specified as a range of ports. When specifying ranges for both, the number of container ports in the range must match the number of host ports in the range. If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host. By default, Podman will publish TCP ports. To publish a UDP port instead, give udp as protocol. To publish both TCP and UDP ports, set --publish twice, with tcp, and udp as protocols respectively. Rootful containers can also publish ports using the sctp protocol. Host port does not have to be specified (e.g. podman run -p 127.0.0.1::80). If it is not, the container port will be randomly assigned a port on the host. Use podman port to see the actual mapping: podman port $CONTAINER $CONTAINERPORT. Note: If a container will be run within a pod, it is not necessary to publish the port for the containers in the pod. The port must only be published by the pod itself. Pod network stacks act like the network stack on the host - you have a variety of containers in the pod, and programs in the container, all sharing a single interface and IP address, and associated ports. If one container binds to a port, no other container can use that port within the pod while it is in use. Containers in the pod can also communicate over localhost by having one container bind to localhost in the pod, and another connect to that port. --publish-all, -P Publish all exposed ports to random ports on the host interfaces. The default is false. When set to true publish all exposed ports to the host interfaces. The default is false. If the operator uses -P (or -p) then Podman will make the exposed port accessible on the host and the ports will be available to any client that can reach the host. When using -P, Podman will bind any exposed port to a random port on the host within an ephemeral port range defined by /proc/sys/net/ipv4/ip_local_port_range. To find the mapping between the host ports and the exposed ports, use podman port. --volume, -v=[[SOURCE-VOLUME|HOST-DIR:]CONTAINER-DIR[:OPTIONS]] Create a bind mount. If you specify, -v /HOST-DIR:/CONTAINER-DIR, Podman bind mounts /HOST-DIR in the host to /CONTAINER-DIR in the Podman container. Similarly, -v SOURCE-VOLUME:/CONTAINER-DIR will mount the volume in the host to the container.
-
@pepe Warst du mittlerweile erfolgreich? Auch bei mir will das Image unter Podman nicht funktionieren.
-
Hi,
nachdem ich ein ein wenig rum probiert habe und einige Artikel gelesen habe startet bei mir nun iobroker unter podman.
Problem scheint die nodejs zu sein.
Nach dem ersten Start des Containers habe ich mich im Container angemeldet:
podman exec -it containername /bin/bashIm Container habe ich nodejs neu installiert:
sudo apt reinstall nodejsDann den den Container einmal neu gestartet und siehe da ich kann jetzt per Browser auf die Seite über Port 8081 auf iobroker zugreifen. Die 'Welcome' Seite wird angezeigt und ich kann mit der Einrichtung beginnen.
Viele Grüße,
Stephan -
Hi zusammen,
ich bin ein weiterer Nutzer, der
podman
füriobroker
vorzieht (komme von einer bare metal Installation, möchte nuniobroker
und vor Allem die ganzen NodeJS-Dinge aber besser kapseln, und weder das externe Docker-Repo hinzufügen noch die leider wieder etwas veraltetedocker.io
-Paketierung von Debian nutzen).Ich bin bei meiner Suche auf:
https://github.com/buanet/ioBroker.docker/issues/294
gestoßen. Wennich den Container beim ersten Start (leeres/opt/iobroker
) mit:podman run -cap-add net_raw -p 8081:8081 -p 8082:8082 -p 8087:8087 -p 1883:1883 --name iobroker -v /opt/iobroker:/opt/iobroker --detach=true --restart='always' docker://buanet/iobroker:latest
starte, also insbesondere mit der Option
--cap-add net_raw
, klappt auchnode
auf Anhieb ohne Reinstallation.Ich hoffe, das hilft jemandem — offizieller Support des offiziellen Images für Podman wäre natürlich super, aber bereits jetzt entscheide ich mich für diesen Weg.