GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Unterschied zwischen Podman und Docker.

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


Docker
  1. Unterschied zwischen Eot und Eof?

  2. Unterschied zwischen [0-9], [[:digit:]] und D?

  3. Unterschied zwischen Snat und Maskerade?

  4. Der Unterschied zwischen CMD und ENTRYPOINT in Docker-Images

  5. Docker Run vs. Start vs. Create:Unterschied erklärt

So installieren und verwenden Sie Podman (Docker-Alternative) unter Ubuntu 20.04

So verwenden Sie Docker Cp zum Kopieren von Dateien zwischen Host und Containern

So stellen Sie einen Docker-MongoDB-Container bereit und verwalten ihn

So kopieren Sie Dateien zwischen Host und Docker-Container

Unterschied zwischen Qemu und KVM

Unterschied zwischen Cgroups und Namespaces