Falando sobre o Podman da tecnologia de contêineres

1. Introdução ao contêiner Podman

Podman (Pod Manager) é uma ferramenta de gerenciamento de contêineres lançada pela RedHat, posicionada como um substituto do Docker, e seu uso é semelhante ao do Docker. O Podman originou-se do projeto CRI-O, que pode acessar diretamente a implementação do OCI (como runC), e o processo é mais curto que o docker.

Podman é um projeto de tempo de execução de contêiner de código aberto disponível na maioria das plataformas Linux. O Podman fornece uma funcionalidade muito semelhante ao Docker. Ele não requer nenhum daemon para ser executado no sistema e também pode ser executado sem privilégios de root. O Podman pode gerenciar e executar qualquer contêiner e imagem de contêiner que esteja em conformidade com a especificação OCI (Open Container Initiative). O Podman fornece um front-end de linha de comando compatível com Docker para gerenciar imagens do Docker.

2. A diferença entre Podman e Docker

No link de gerenciamento de contêiner, a implementação do Docker Engine é o dockerd daemon, que precisa ser executado como root no Linux, dockerd chama containerd, containerd chama containerd-shim e, em seguida, pode chamar runc. Como o nome indica, o shim atua como um "shim", impedindo que o processo pai saia e afete a operação do contêiner.

O podman invoca diretamente o tempo de execução OCI (runc) e usa o common como ferramenta de gerenciamento para processos de contêiner, mas não requer o dockerd, um processo daemon que é executado como root.

No sistema podman, existe um processo daemon chamado comum, cujo caminho de execução é geralmente /usr/libexec/podman/conmon, que é o processo pai de cada processo de contêiner, cada contêiner tem um, e o pai de comum geralmente é processo número 1. O comum no podman é realmente equivalente ao containerd-shim no sistema docker.

                

O que está refletido na figura acima é que o podman não requer um processo daemon, enquanto o docker requer um processo daemon. O Podman resolve os problemas acima interagindo diretamente com o Image Registry, Image e Container, em vez de por meio do processo daemon. Além disso, o Podman permite que os usuários executem contêineres sem privilégios de root completos. Mais importante, ele também fornece comandos compatíveis com o Docker, permitindo que os usuários alternem facilmente dos comandos originais do Docker para o Podman.

3. Comandos comuns do contêiner Podman

3.1 Comandos relacionados ao contêiner

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 ao espelhamento

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. Implantar e usar contêineres Podman

4.1 Instalação do Podman

4.1.1 Instalação pelo 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 Instalação do código-fonte

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

4.2 Uso do Podman

Verifique se a instalação foi bem-sucedida

 executar contêiner podman

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

 listar contêineres em execução

podman ps

 Observação: o Podman mostrará todos os contêineres se você adicionar -a ao comando ps.

Verifique os contêineres em execução

Você pode "inspecionar" os metadados e os detalhes de um contêiner em execução. Podemos até usar o subcomando de inspeção para ver o endereço IP atribuído ao contêiner. Como o contêiner está sendo executado no modo sem raiz, nenhum endereço IP é atribuído e o valor será listado como "Nenhum" na saída da inspeção.

Observação: -l é um argumento de conveniência para o contêiner mais recente. Você também pode usar o ID do contêiner em vez de -l.

podman inspect -l | grep IPAddress

 Exibir os logs de um contêiner em execução

podman logs --latest

 Visualize o uso de recursos do processo em um contêiner em execução

podman top <container_id>

Parar um contêiner em execução

podman stop --latest

 excluir um contêiner

podman rm --latest

Acho que você gosta

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