Content
Was ist Docker
- Abgekapselte Umgebung für Prozesse.
- Läuft eigentlich im Hostsystem
- Kann begrenzt auf CPUs und Memory
- Es können Images erstellt werden und von dockerhub direkt heruntergeladen werden
- Z.b.: Webserver, Wordpress, Datenbankserver, etc,...
- Von einem Image kann ein Container gestartet werden
Installation Docker
#Paketquellen aktualisieren
sudo apt-get update
#Docker installation
sudo apt-get install docker.io
#Aktuellen User der Dockergruppe hinzufügen
sudo usermod -aG docker $USER
#Neustart
sudo reboot
Eigenes Dockerimage erstellen für Mailserver
Zuerst erstellen wir einen Ordner:
#Ein neuer Ordner wird im Homeverzeichnis erstellt
mkdir ~/sendmaildocker
#Wechseln in den Ordner
cd ~/sendmaildocker
Erstellen des Dockerfiles:
nano Dockerfile
Folgender Inhalt gehört ins Dockerfile:
#Baseimage von dem wir ableiten wollen
FROM ubuntu:18.04
#Paketquellen updaten
RUN apt-get update
#Sendmail MTA (Mail transfer agent) - Mailserver installieren
RUN apt-get install -y sendmail
#Folgendes wird beim Starten des Containers ausgeführt
#sleep 10800 ist nur dazu da damit der Container nicht beendet wird (nicht optimal)
CMD service sendmail start && sleep 10800
Eigenes Image erstellen:
#docker build -t [imagename]:[tag]
docker build -t sendmailtest:0.0 ./
Prüfen ob das docker Image vorhanden ist:
docker images ls
Container von Mailserver Dockerimage starten
Container von Docker Image starten:
#Eigenen Hostnamen finden: http://webmaster.sodala.net/was-ist-meine-ip-adresse/
#docker run --hostname [your hostname] --name [containername] [image]:[tag]
#Startet Container im Vordergrund
docker run --hostname mydomain.at --name sendmailcontainer sendmailtest:0.0
#Startet im Hintergrund
docker run -dit --hostname mydomain.at --name sendmailcontainer sendmailtest:0.0
Verbinden mit Container und Emailversand
Docker container
#Mit Container verbinden
#docker exec -it [containername] [command]
docker exec -it sendmailcontainer bash
Email versenden
Kein Spam Mail versenden!!! Strafbar? Man kann immer eruieren von wo aus die Email versendet wurde!!!
#echo "Subject: Das ist ein test" | sendmail -v test@test.at
echo -e "Subject: Test\n\nHallo nachricht" | sendmail -v test@test.at
Docker Container starten/stoppen/löschen
#Container stoppen
#docker container stop [containername]
docker container stop sendmailcontainer
#Gestoppten Container löschen
#docker container rm [containername]
docker container rm sendmailcontainer
#Laufenden Container stoppen und löschen
docker container rm -f sendmailcontainer