Hablando de Podman de la tecnología de contenedores

1. Introducción al contenedor Podman

Podman (Pod Manager) es una herramienta de gestión de contenedores lanzada por RedHat, se posiciona como un sustituto de Docker y su uso es similar al de Docker. Podman se originó a partir del proyecto CRI-O, que puede acceder directamente a la implementación de OCI (como runC), y el proceso es más corto que docker.

Podman es un proyecto de tiempo de ejecución de contenedor de código abierto disponible en la mayoría de las plataformas Linux. Podman proporciona una funcionalidad muy similar a Docker. No requiere ningún demonio para ejecutarse en el sistema, y ​​también se puede ejecutar sin privilegios de root. Podman puede administrar y ejecutar cualquier contenedor e imagen de contenedor que cumpla con la especificación OCI (Iniciativa de contenedor abierto). Podman proporciona un front-end de línea de comandos compatible con Docker para administrar imágenes de Docker.

2. La diferencia entre Podman y Docker

En el enlace de administración de contenedores, la implementación de Docker Engine es dockerd daemon, que debe ejecutarse como root en Linux, dockerd llama a containerd, containerd llama a containerd-shim y luego puede llamar a runc. Como su nombre lo indica, shim actúa como un "shim", evitando que el proceso principal salga y afecte el funcionamiento del contenedor.

podman invoca directamente el tiempo de ejecución de OCI (runc) y usa common como herramienta de administración para los procesos de contenedor, pero no requiere dockerd, un proceso daemon que se ejecuta como raíz.

En el sistema podman, hay un proceso daemon llamado común, cuya ruta de ejecución suele ser /usr/libexec/podman/conmon, que es el proceso padre de cada proceso contenedor, cada contenedor tiene uno, y el padre común suele ser proceso número 1. El común en podman es en realidad equivalente a containerd-shim en el sistema docker.

                

Lo que se refleja en la figura anterior es que podman no requiere un proceso daemon, mientras que docker requiere un proceso daemon. Podman resuelve los problemas anteriores interactuando directamente con Image Registry, Image y Container, en lugar de hacerlo a través del proceso daemon. Además, Podman permite a los usuarios ejecutar contenedores sin privilegios completos de raíz. Más importante aún, también proporciona comandos compatibles con Docker, lo que permite a los usuarios cambiar fácilmente de los comandos originales de Docker a Podman.

3. Comandos comunes del contenedor Podman

3.1 Comandos relacionados con contenedores

podman run     #创建并启动容器  
podman start    #启动容器  
podman ps      #查看容器  
podman stop     #终止容器  
podman restart   #重启容器  
podman attach    #进入容器  
podman exec     #进入容器  
podman export    #导出容器  
podman import    #导入容器快照  
podman rm      #删除容器  
podman logs     #查看日志
podman system migrate #为用户停止所有容器并终止暂停进程

3.2 Comandos relacionados con el espejo

podman search       #检索镜像  
docke pull         #获取镜像  
podman images       #列出镜像  
podman image Is      #列出镜像  
podman rmi         #删除镜像  
podman image rm      #删除镜像  
podman save        #导出镜像  
podman load        #导入镜像  
podmanfile         #定制镜像(三个)  
podman build        #构建镜像  
podman run        #运行镜像  
podmanfile        #常用指令(四个)  
•    COPY           #复制文件  
•    ADD           #高级复制  
•    CMD           #容器启动命令  
•    ENV           #环境变量  
•    EXPOSE          #暴露端口

4. Implementar y usar contenedores Podman

4.1 Instalación del podman

4.1.1 Instalación por yum

//安装podman
yum -y install podman
//仓库配置
vim /etc/containers/registries.conf  
[registries.search] 
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io'] unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "docker.io"] 

4.1.2 Instalación del código fuente

git clone https://github.com/containers/podman/cd podman
make BUILDTAGS="selinux seccomp"
sudo make install PREFIX=/usr 

4.2 Uso de Podman

Verifica que la instalación fue exitosa

 ejecutar contenedor podman

podman run -d --name httpd docker.io/library/httpd
podman images

 lista de contenedores en ejecución

podman ps

 Nota: Podman mostrará todos los contenedores si agrega -a al comando ps.

Compruebe los contenedores en funcionamiento

Puede "inspeccionar" los metadatos de un contenedor en ejecución y los detalles sobre sí mismo. Incluso podemos usar el subcomando de inspección para ver la dirección IP asignada al contenedor. Dado que el contenedor se ejecuta en modo sin raíz, no se asigna ninguna dirección IP y el valor aparecerá como "Ninguno" en el resultado de la inspección.

Nota: -l es un argumento de conveniencia para el contenedor más reciente. También puede usar la ID del contenedor en lugar de -l.

podman inspect -l | grep IPAddress

 Ver los registros de un contenedor en ejecución

podman logs --latest

 Ver el uso de recursos del proceso en un contenedor en ejecución

podman top <container_id>

Detener un contenedor en ejecución

podman stop --latest

 eliminar un contenedor

podman rm --latest

Supongo que te gusta

Origin blog.csdn.net/lovebaby1689/article/details/131506814
Recomendado
Clasificación