Was ist Podman und was ist der Unterschied zu Docker?
Podman ist eine OCI-Container-kompatible Container-Engine, die ebenfalls Teil von RedHat Linux ist, aber auch auf anderen Linux-Distributionen installiert werden kann.
Da es OCI-konform ist, kann Podman als Drop-In-Ersatz für die bekanntere Docker-Laufzeit verwendet werden. Die meisten Docker-Befehle können direkt in Podman-Befehle übersetzt werden.
Was ist eine Laufzeit?
Für viele Leute ist die Container Engine Docker, aber das repräsentiert im Moment nicht die Welt der Container Engines, aber es gibt viele Container Engines wie Podman.
Daher verfügen Podman und Docker über grundlegende Funktionen. Jeder erzeugt Images, die der andere zum Betreiben der Container verwenden kann. Die beiden Laufzeiten fügen dann ihre eigenen Spezialisierungen zusätzlich zu den grundlegenden Containerisierungsfunktionen hinzu.
Podman installieren
Wenn Sie Red Hat Enterprise Linux 8 verwenden, befindet sich Podman im lokalen Repository und Sie können es installieren, indem Sie einfach yum verwenden.
yum -y install podman
Die meisten anderen Linux-Distributionen enthalten Podman in ihren Standard-Repositories
So arbeiten Sie mit Containern und Bildern ?
Podman hat einige Ähnlichkeiten mit Docker in seinen Ausführungsbefehlen wie
1-So ziehen Sie ein Bild
podman pull my-image:latest
2- So führen Sie das Bild aus
podman run my-image:latest --name my-container
3-erstellte und laufende Container auflisten
podman ps
4-Entfernen des Containers
podman rm my-container
Unterschied zwischen Podman und Docker
Docker ist eine Container-Management-Technologie. Podman ist auch eine Container-Technologie. Sie können beide verwenden, um Container-Images zu erstellen und diese Images in einem Repository zu speichern. Sie können auch entweder Docker oder Podman verwenden, um Container-Images aus einer Registrierung abzurufen und sie dann in einer Zielumgebung auszuführen
Die Technologien weisen jedoch Unterschiede auf. Erstens, während Docker einen zugrunde liegenden Daemon hat, verwendet Podman eine etwas andere Technologie, um Container zu erstellen. Zweitens ermöglicht Podman, wie der Name schon sagt, Benutzern, Pods zu erstellen. Ein Pod ist eine Möglichkeit, Container unter einem gemeinsamen Organisationsnamen zu gruppieren. Docker unterstützt keine Pods. Es gibt weitere subtile Unterschiede, aber auf hoher Ebene sind diese beiden Unterschiede am ausgeprägtesten
1- Rootless-Container
Rootlose Container beziehen sich auf die Möglichkeit für einen nicht privilegierten Benutzer, Container zu erstellen, auszuführen und anderweitig zu verwalten.
„Unprivilegierter Benutzer“ bezieht sich in diesem Zusammenhang auf einen Benutzer, der keine administrativen Rechte hat
installiere slirp4netns:
yum install slirp4netns
Konfigurieren Sie eine Reihe von benutzerbezogenen Netzwerk-Namespaces:
echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
Sie können jetzt rootless Container als normaler Benutzer ausführen, indem Sie sich einfach als Benutzer mit dem Server verbinden.
Wenn Sie einen neuen Container mit podman run starten, wird er mit der UID Ihres Benutzerkontos anstelle von root erstellt
Pods
Pods sind die kleinsten bereitstellbaren Recheneinheiten, die Sie erstellen und verwalten können und die wie Kubernetes-Pods aussehen.
Pod erstellen:
podman pod create --name my-pod
Container zu Pods hinzufügen:
podman run --pod my-pod --name image-1 my-image:latest
kann Container in den Pods verwalten:
podman kill my-pod # kill all containers
podman restart my-pod # restart all containers
podman stop my-pod #stop all containers
Fazit
Zusammenfassend ist Podman eine Container-Engine wie Docker, die viele Ähnlichkeiten hat, z. B. wie man ein Image zieht, ein Image ausführt. haben aber viele Unterschiede wie rootless Container und Pods