Anfängerfragen zu Docker bzw. Portainer

Warrender

Ensign
Registriert
Sep. 2013
Beiträge
193
Hallo,

Docker bzw. Portainer laufen bei mir auf einem Raspi. Als Container läuft pihole. Installiert habe ich das ganze nach einem Youtubetutorial. Folgende Fragen sind mir nicht klar:
Ich habe via Portainer ein Image pihole mit dem Befehl "pihole/pihole:latest heruntergeladen.
Was bewirkt der Befehl? Wird einmal das letzte Image von Pihole auf dem raspy irgendwo installiert? Dieses Image starte ich dann über den Container, oder?

Unter Container (Portainer) gibt es den Befehl create image. Wird damit der Container mit meinen Parametern (Netzwerk, Volumes,usw.) erstellt? Werden gesammelte Daten des Containers (z.B. /etc/pihole.conf) überschrieben, sobald ich wieder auf create image drücke?

Wofür sind die Einträge "ENV" (Portainer Container details)? Mir ist klar, dass ich z.B. damit die Zeitzone einstellen kann. Sind das also Parameter, die beim Starten an den Container übergeben werden?

Danke!
 
Erstmal vorab, Portainer ist genauso ein Container der bei dir läuft wie Pi-Hole. Beide benutzen als unterliegende Technologie Docker.

Warrender schrieb:
Was bewirkt der Befehl?
Der Befehlt bewirkt, dass du ein Image des Pi-Hole auf dem Raspi hast.

Warrender schrieb:
Wird einmal das letzte Image von Pihole auf dem raspy irgendwo installiert?
Nein, dieses Image steht deiner Docker Installation jetzt erstmal nur zur Verfügung. Das Image wird irgendwo dockerintern gespeichert. Stichwort "Docker Images"

Warrender schrieb:
Dieses Image starte ich dann über den Container, oder?
Du kannst mit dem Image einen Container erstellen, ja.

Warrender schrieb:
Wird damit der Container mit meinen Parametern (Netzwerk, Volumes,usw.) erstellt? Werden gesammelte Daten des Containers (z.B. /etc/pihole.conf) überschrieben, sobald ich wieder auf create image drücke?
Nein, damit baust du dir dein eigenes Image, wie z.B pihole:latest
Bspw. könntest du also das pihole Image nehmen und das so anpassen, dass Software XY in dem Image installiert wird. Dann hättest du ein eigenes Image.

Warrender schrieb:
Wofür sind die Einträge "ENV" (Portainer Container details)?
ENV bezieht sich auf Environment Variable und sind quasi Parameter mit denen sich ein Container verändern lässt. Das kann zum Beispiel die URL zu einer Datenbank sein oder die Zeitzone.

Warrender schrieb:
Unter Container (Portainer) gibt es den Befehl create image.
Wo genau findest du diesen Button? Ich sehe diesen Button bei mir unter "Container" nicht ..
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Warrender, kamanu, Brati23 und eine weitere Person
torben schrieb:
Wo genau findest du diesen Button? Ich sehe diesen Button bei mir unter "Container" nicht ..
Er meint vermutlich diesen Bereich in der Detailansicht eines Containers.
1664878066786.png
 
@mibbio Gibts bei mir trotzdem nicht.
Dachte mir das schon, dass TE (und vermutlich du auch) noch das alte Repository (und damit die alte UI) für Portainer benutzen. Das ist aber deprecated seit Anfang dieses Jahres.
Neues Repo ist das hier portainer/portainer-ce

1664878495858.png
Auch unten bei den "Advanced container settings" steht nichts von "Create Image"
 
Mein Screenshot ist aus der bei mir laufenden Version 2.14.x, kann also sein, dass es bei deiner 2.15.x nicht mehr mit drin ist.
 
Warrender schrieb:
Installiert habe ich das ganze nach einem Youtubetutorial
Hier liegen ja schon mehrere Probleme vor...

Es gibt eine Anleitung des Herstellers, das du offenbar erfolgreich ignorierst sondern folgst irgendeinem Video und hast jetzt Fragen zu deinem Setup.

Damit dir auch nur ansatzweise geholfen werden kann, müssen wir dein Setup nachvollziehen können. Das bedeutet, du als TE und Fragesteller bist hier in der Bringschuld.
Du musst dein Setup so genau beschreiben, dass jede andere Person anhand deiner Beschreibung das alles nachbauen kann damit es nachvollziehbar ist.

Niemand weiß, ob du irgendein angepasstes/manipuliertes Portainer installierst hast und verwendest oder einfach nur eine veraltete oder ggf. testing Variante.
 
  • Gefällt mir
Reaktionen: mastaqz und andy_m4
Danke für eure Antworten.
Den Unterschied zwischen Image und Container habe ich noch nicht verstanden.
Ich kann ein Image in einem Container laufen lassen. Stimmt das so?
Ist ein Image quasi z.b. die Windows CD und ein Container die VM?
Bei mir sieht das so aus, wie beim Screenshot von @mibbio
 
Ein Image ist ein unveränderlicher Snapshot eines Containers.
Ein Container ist eine laufende Instanz eines Images.
Die Analogie zur Windows ist schon ziemlich gut.
Dein Image wäre die Windows ISO/CD, die ist unveränderlich (sobald auf die CD gebrannt).
Der Container ist dann z.B. dein Windows laufendes Windows.
Da kommen dann noch Spielereien hinzu, wie dass dein Container keine Daten behält und so weiter.
Aber das kannst du einfach nachlesen:
z.B. hier
oder hier
oder wenn du Grundlagen der Java Programmierung beherrscht, hier
 
  • Gefällt mir
Reaktionen: Warrender
Ich habe jetzt docker auf 2.15.1. hochgezogen. Pihole im Container läuft ganz normal.

Leider kann ich keine Container runterladen:
docker pull takealug/solaranzeige
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.1.224:53: read udp 192.168.1.117:58527->192.168.1.224:53: i/o timeout

Erfolglos habe ich pihole deaktiviert. Ein Neustart hat ebenfalls nichts geholfen....
Kann mir jemand weiterhelfen?
 
192.X ist wohl eine lokale IP.
Von Port 53(DNS) erfolgt keine Antwort.

---

Ein gut gemeinter TIpp: Nutze als Anfänger NICHT Portainer.

Du "verbequemlichst" dir das Leben jetzt, wirst aber bald stark leiden, weil dir Portainer das Erlernen des grundsätzlichen Wissen wegnimmt.

https://docs.docker.com/get-started/overview/
https://docs.docker.com/get-started/overview/#docker-architecture
https://docs.docker.com/get-started/overview/#images
https://docs.docker.com/get-started/overview/#containers
https://docs.docker.com/storage/
https://docs.docker.com/storage/volumes/
https://docs.docker.com/network/

Docker ist die Implementation eines Konzepts.
Das Konzept musst du verstehen, um langfristig Freude an Docker zu haben.
Aktuell scheint es mir so, als würdest du rumklicken und das tun, was andere dir sagen (bspw. ein YT-Video), aber ohne Verständnis, warum du das tust und wie das alles funktioniert.

Bei Docker ist das eine ganz schlechte Idee, denn bald werden die nächsten Hürden kommen.
Investier lieber jetzt die Zeit ins Lernen der Grundkonzepte.
 
  • Gefällt mir
Reaktionen: snaxilian und Warrender
Danke! Ja, du hast prinzipiell recht in all dem, was du schreibst. Ich sollte hier wirklich die Grundlagen lernen.

Das Problem konnte ich mittlerweile lösen. Es war wirklich pihole, was die Anfrage offensichtlich blockiert hat und das obwohl ich bei Pihole "Disable Blocking" eingestellt habe. In der resolv.conf habe ich den Google DNS eingetragen und jetzt kann ich wieder Images herunterladen.
 
Tipp: Mal Docker-Compose anschauen. Ist nach kurzer Einarbeitung ein sehr mächtiges Werkzeug zur Automatisierung von Abläufen. Die YAML-Dateien erleichtern das Erstellen und Updaten ganzer Docker-Stacks ungemein, mit nur wenigen Befehlen. Da gibt es auch Unmengen an Beispielskripten auf GitHub/Lab und Co.
 
  • Gefällt mir
Reaktionen: Warrender
Ich wollte Docker-compose installieren, scheitere aber leider daran. der Befehl "docker compose version" gibt folgendes aus:
docker: 'compose' is not a docker command.
Schreibe ich "docker" in die Console steht u.a. folgendes:
Invalid Plugins:
compose failed to fetch metadata: fork/exec /home/pi/.docker/cli-plugins/docker-compose: exec format error
Ich hätte es folgendermaßen versucht:
sudo apt-get update
sudo apt-get install docker-compose-plugin
Das führt zu:
docker-compose-plugin ist schon die neueste Version (2.10.2~debian-bullseye).

Auch die manuelle Installation hätte ich, wie hier erklärt, versucht:
https://docs.docker.com/compose/install/linux/#install-using-the-repository

Ich bitte wieder um Hilfe. Danke.
 
Zurück
Oben