¿Qué es Podman y cuál es la diferencia con Docker?
Podman es un motor de contenedores compatible con contenedores OCI que también forma parte de RedHat Linux, pero también se puede instalar en otras distribuciones de Linux.
Como es compatible con OCI, Podman se puede usar como un reemplazo directo para el tiempo de ejecución de Docker más conocido. La mayoría de los comandos de Docker se pueden traducir directamente a comandos de Podman.
¿Qué es un tiempo de ejecución?
Para muchas personas, Container Engine es Docker, pero esto no representa el mundo de Container Engines en este momento, pero hay muchos Container Engines como Podman.
Como resultado, Podman y Docker tienen una funcionalidad básica. Cada uno produce imágenes que el otro puede usar para operar los contenedores. Luego, los dos tiempos de ejecución agregan sus propias especialidades además de las funciones básicas de creación de contenedores.
Instalar Podman
Si está usando Red Hat Enterprise Linux 8, Podman está en el repositorio local y puede instalarlo simplemente usando yum.
yum -y install podman
La mayoría de las demás distribuciones de Linux incluyen Podman en sus repositorios predeterminados
Cómo trabajar con Contenedores e Imágenes ?
Podman tiene varias similitudes con Docker en sus comandos de ejecución, como
1-Cómo extraer imagen
podman pull my-image:latest
2- Cómo ejecutar la imagen
podman run my-image:latest --name my-container
Lista de 3 contenedores creados y en ejecución
podman ps
4-Cómo retirar el contenedor
podman rm my-container
diferencia entre Podman y docker
Docker es una tecnología de gestión de contenedores. Podman es también una tecnología de contenedores. Puede usar cualquiera de los dos para crear imágenes de contenedores y almacenar esas imágenes en un repositorio. También puede usar Docker o Podman para extraer imágenes de contenedores de un registro y luego ejecutarlas en un entorno de destino
Sin embargo, las tecnologías tienen diferencias. Primero, mientras que Docker tiene un demonio subyacente, Podman usa una tecnología ligeramente diferente para crear contenedores. En segundo lugar, Podman, como su nombre lo indica, permite a los usuarios crear pods. Un pod es una forma de agrupar contenedores bajo un nombre organizativo común. Docker no admite pods. Hay otras diferencias sutiles, pero en un nivel alto, estas dos diferencias son las más pronunciadas
1-Contenedores sin raíz
Los contenedores sin raíz se refieren a la capacidad de un usuario sin privilegios para crear, ejecutar y administrar contenedores.
"Usuario sin privilegios" en este contexto se refiere a un usuario que no tiene ningún derecho administrativo
instalar slirp4netns:
yum install slirp4netns
configurar una cantidad de espacios de nombres de red con ámbito de usuario:
echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
ahora puede ejecutar un contenedor sin raíz como usuario normal simplemente conéctese al servidor como usuario.
cuando inicie un nuevo contenedor con podman run, se creará con el UID de su cuenta de usuario en lugar de root
vainas
Cápsulas son las unidades informáticas implementables más pequeñas que puede crear y administrar, que se parecen a los pods de kubernetes.
pod crear:
podman pod create --name my-pod
añadir contenedor a pods:
podman run --pod my-pod --name image-1 my-image:latest
puede administrar el contenedor en los pods:
podman kill my-pod # kill all containers
podman restart my-pod # restart all containers
podman stop my-pod #stop all containers
Conclusión
en conclusión, podman es un motor de contenedor como docker que tiene muchas similitudes, como cómo extraer imágenes, ejecutar imágenes. pero tienen muchas diferencias como contenedor sin raíz y vainas