Zum Inhalt der Seite gehen


#fedihelp de #fedihelp de #fedihelp #docker #dockercontainer #linux
Ich verwende seit über zwanzig Jahren Linux, betreibe Serverdienste (Web, XMPP, Mail, VPN, etc), würde also sagen, dass ich mich durchaus ein wenig damit auskenne. Jetzt ist der Punkt gekommen, wo ich an Docker nicht mehr vorbei komme. Ich habe bisher Docker vermieden wo es ging, da ich nicht noch einen Layer mehr einziehen wollte, der upgedated werden will. Als Debian Nutzer ist man da etwas verwöhnt. Jetzt suche ich _gute_ Tutorials für den Einstieg in Docker. Kennt da jemand welche? Entweder finde ich welche, die mir mit Screenshots zeigen wie ich Docker unter Windows installiere, oder welche die so langatmig sind, dass sie den ADHSler in mir nach 3min verlieren. Am Besten etwas, das direkt mit Beispielen loslegt. Container und Images direkt erstellen, betrieben, miteinander kommunizieren lassen, etc. Zugriff von außen darauf, evtl. Proxy mit Nginx. solche Dinge.
Zu Übungszwecken möchte ich einen Mailserver mit OpenSMTPd, Dovecot, rspamd und Co in einzelnen miteinander kommunizierenden Containern lösen. Ist das eine gute Idee, um das System dahinter zu verstehen?
Als Antwort auf Sven222

Was hältst du von Podman als Docker Ersatz? Ich habe mir da gerade was selber beigebracht, vielleicht hilft es Dir als Einstieg. Passt nur nicht zu deinen gedachten Anwendungen. Aber das lässt sich ja dann anpassen.

linux-nerds.org/topic/1671/pod…

Als Antwort auf FrankM

Danke! Schaue ich mir gleich mal an. Der Anwendungsfall bei mir ist ja nur mal gedacht zum lernen. Ich dachte mir, das ist komplex genug um genügend tief in die Materie einzusteigen.
Als Antwort auf Sven222

Ja, ist komplex und fordernd. Bin froh das ich durch bin ;)
Als Antwort auf Sven222

hilft evtl. diese YT-Suche? youtube.com/results?search_que…

Zeit wird sicherlich erforderlich sein, bis die Feinheiten verstanden wurden. Ich hatte #Docker auf einer #Ubuntu VM laufen. Die Installation noch nach Ubuntu-Anleitung gemacht, danach war es egal, ob die Docker-Compose-Datei unter #Windows, #Linux oder #Mac gezeigt wurde. Der Rest ist gleich.

Eine große Hilfe war noch #Portainer -> portainer.io/

Elischeva91 hat dies geteilt.

Als Antwort auf thx4fish

Danke, youtube hab ich bisher noch nicht geschaut, weil viele Videos immer so langatmig sind, und man mit gelesenem Text oft verständlicher ans Ziel kommt, aber portainer schaue ich mir auch gleich an.
Als Antwort auf Sven222

Docker selbst hat eine, wie ich finde, gute Einführung dazu:
docs.docker.com/get-started/in…
Unter "docker workshop" gibt es weiterführende Schritte für die wichtigsten Dinge.
Auch Multi-Container-Apps werden da behandelt.

Auch wichtig: Beschäftige dich direkt am Anfang mit Docker und IPTables! Denn Docker setzt eigene regeln, da muss man aufpassen und entsprechende Regeln selbst vergeben. Mehr dazu:
docs.docker.com/engine/network…

Und auch hier erklärt:
unrouted.uk/blog/docker-firewa…

Als Antwort auf Hannes

Danke! Ich habe bisher nur nach deutschsprachigen Anleitungen geschaut, weil faul. Aber das sieht vielversprechend aus. Danke auch für den IP-Tables Tipp.
Als Antwort auf Sven222

Gute deutsche Anleitungen sind leider selten.

Thomas Krenn hat eine sehr gute Knowledge-Base, aber da habe ich zumindest nichts zu Docker bisher genutzt, daher keinen direkten Link parat. Aber vielleicht findet du da auch was:

thomas-krenn.com/de/wiki/Thoma…

Als Antwort auf Hannes

Jep, leider. Es sei denn der @Tom hat was gemacht, wie z.B. das geniale Mailservertutorial.
@Tom
Als Antwort auf Sven222

Es gibt ein gutes Buch vo @michaelkofler — und wenn du mehr als einen Server betreiben willst, ist Swarm ein guter Einstieg.
Als Antwort auf Sven222

ich fand die Videos von thenativeweb hilfreich ...youtube
Als Antwort auf Sven222

Die Situation hatte ich vor einem halben Jahr. Mittlerweile habe ich alle Dienste auf meinen Debian Servern umgezogen, und bzgl. Aktualisierung ist es weniger Arbeit als vorher (Watchtower hält die Applikationen frisch, das Debian unter dem Docker ist erfreulich schlank).
Zum Einstieg habe ich mir Videos von Christian Lempa und von Networkchuck angesehen, damit bin ich gut klargekommen.
Als Antwort auf Ronald

Oh, und: dabei lernst Du nicht viel über Docker, aber als Mailserver hat mich Mailcow sehr überzeugt. Standardkomponenten, sehr schön vorinstalliert. Aber wie gesagt: das ist zum Benutzen, nicht zum Lernen. 😉
Als Antwort auf Ronald

Ja, Mailcow ist cool. Da hab ich das erstmal gezuckt, ob ich jetzt Docker lernen muss, als die auf Docker umgestiegen sind. Aber gerade geht es ums Docker lernen.
Als Antwort auf Sven222

Docker wenn möglich vermeiden. Apptainer/Singularity ist in vieler Hinsicht besser.
Als Antwort auf Sven222

Mailcow hat eine Docker Compose Distribution. Das konntest du ausprobieren.
Hier hilft wohl nur Learning-by-Doing, d.h. Fehler machen ;)
An Docker Compose kommst du wohl erst einmal nicht vorbei, sodass jede Gruppe von Containern ihr eigenes Netzwerk bekommt.
Auch einen Traefik statt Nginx in separatem externem Web Netzwerk mit Docker Provider zu nutzen ist eine gute Übung.
Pass bloß auf deine Volumes auf, um keine Daten zu verlieren.
@threecoloured
Als Antwort auf jon ⚝

@yala @threecoloured Ich würde auch empfehlen, nach den ersten kleinen Gehversuchen mit Docker und einem Container gleich mit Docker Compose weitermachen. Da kannst du die Konfiguration prima im compose File erstellen und du hast weniger Probleme mit Netzwerk und Volumes.
Wenn das dann läuft, kannst du es nochmal ohne nachbauen, wenn du den Anspruch hast.
Als Antwort auf Sven222

Ein Tipp: fang zum Einstieg mit was einfacherem als einem Mailserver an, der hat zu viele bewegliche Teile. Nimm lieber irgendeine Web-Applikation und einen Reverse-Proxy, dann wird das Prinzip viel einfacher klar.
Als Antwort auf Sven222

Ein Tip: Du suchst docker compose (nicht docker-compose, das ist veraltet)
Als Beispiel mal mein Friendica, was in Docker läuft. Am Internet lauscht ein Apache, der ist als reverse proxy konfiguriert:
  ProxyPass / http://127.0.0.1:8083/
  ProxyPassReverse / http://127.0.0.1:8083/
  ProxyPreserveHost On
  ProxyRequests Off

Auf 127.0.0.1 Port 8083 lauscht, Überraschung, ein Docker mit friendica.
Aus der entsprechenden docker-compose.yaml
  app:
    image: friendica
    container_name: friendica_app
    restart: always
    volumes:
      - friendica_friendica:/var/www/html
    ports:
      - "8083:80"

Das Prinzip ist klar: Am Internet lauscht ein Webserver, der reicht die Requests an das loopback-Interface weiter, wo dann der Container auf Port 80 lauscht. Das Mapping 8083->80 wird von Docker oder präziser: iptables/netfilter gemacht. Geht natürlich auch mit nginx, træfik, haproxy…
Als Antwort auf Rainer "friendica" Sokoll

@rainer Wenn nichts dagegen spricht, würde ich "127.0.0.1:8083:80" nutzen, dann lauscht friendica tatsächlich nur auf 127.0.0.1, sonst wohl eher auf allen Adressen.
Als Antwort auf Rainer "friendica" Sokoll

@rainer Nicht peinlich, nur nachdem man mir einmal prompt Skripte auf ein System gelegt hat, weil das bei mir nicht passte, weise ich lieber auch andere darauf hin. 😅
Als Antwort auf Sven222

Was Du vorhast, halte ich für ein gutes zweites oder drittes Projekt. Für den Anfang dürfte es m.E. auch gerne etwas kleineres sein, etwas mit nur einem Dockercontainer.

Aber andererseits: Wenn Du das schaffst, hast Du jedenfalls einiges gelernt, ja. So gesehen 👍 für Deinen Plan.

@sven222

Als Antwort auf Andreas, DJ3EI, he/him

Nachdem Du jetzt schon der zweite bist, der darauf hinweist: Ja, das ist ambitioniert, und ich werde nicht sofort mit dem Mailserver loslegen. Aber mehr wie ein Container wird es sein, eventuell Datenbank und Webaplikation oder ähnliches um das Prinzip zu verstehen. Sobald das auf dem eigenen Rechner läuft kommt dann der Mailserver, weil das ist komplex genug, um über genügend Fehler zu stolpern.
Als Antwort auf Sven222

Man kann sich das bestimmt mit Portainer zusammenklicken. Habe ich nie verwendet, Video nicht gesehen, aber der Dennis macht eigentlich gute Videos:
Als Antwort auf Sven222

Das ist möglicherweise nicht ganz was du gesucht hast, aber schau mal hier: udemy.com/courses/search/?q=do…
Du kannst in die Kurse auch reinschnuppern.
Die Dockerkurse sind gerade im Angebot. Kosten nicht viel. Ich habe mit #udemy gute Erfahrung gemacht.
Wenn du bereit bist dafür kleines Geld auszugeben.
Dieser Beitrag wurde bearbeitet. (6 Tage her)
Als Antwort auf Sven222

Wie schon erwähnt wurde: Auf die Firewall achten, falls der Rechner von nicht vertrauenswürdigen Hosts aus erreichbar ist. Leider schlägt Docker in viele Paketfiltersetups Löcher rein, manchmal auch erst nach Neustart (je nach Reihenfolge der Regeln dann). Für ufw musste ich immer einige Hacks nutzen. Je nach Anleitung sind die auch mehr oder weniger gut.

Mit firewalld geht das mittlerweile gut so. Eventuell die Ports der Dienste auch erst einmal nur an 127.0.0.1 binden (also bspw. 127.0.0.1:25:25 für das Mapping statt 25:25, womit Zugriff überall IPs auf Port 25 möglich sein könnte).

Als Antwort auf Sven222

ich habe dieses Video noch nicht selbst geschaut, aber der Macher ist bei mir nicht ohne Grund in der Abo-Liste gelandet - seine Videos haben mich bislang selten enttäuscht. Daher gebe ich mal unbesehen youtube.com/watch?v=lSZDWY80rP… als "schau-mal-rein"-Tip weiter 😊
Bzgl Podman vs Docker: Der Mensch nutzt (entgegen des Titels) Podman - was für die ersten Gehversuche keinen Unterschied machen sollte.
Dieser Beitrag wurde bearbeitet. (6 Tage her)
Als Antwort auf Skyr

Mittelfristig wird man zwar sicher auf Unterschiede im Detail stoßen... persönlich würde ich mich inzwischen lieber Richtung Podman als Richtung Docker orienteren.