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

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: