podman

podman

什么是podman

Podman 是一个开源项目,可在大多数 Linux 平台上使用并驻留在GitHub 上。Podman 是一个无守护进程的容器引擎,用于在 Linux 系统上开发、管理和运行 Open Container Initiative (OCI) 容器和容器映像。Podman 提供了一个与 Docker 兼容的命令行前端,它可以简单地为 Docker cli 取别名,别名 docker=podman。Podman 还提供了一个套接字激活的 REST API 服务,以允许远程应用程序启动按需容器。这个 REST API 还支持 Docker API,允许 docker-py 和 docker-compose 的用户与 Podman 作为服务进行交互。

Podman 控制下的容器可以由 root 或非特权用户运行。Podman 使用libpod库管理整个容器生态系统,包括 pod、容器、容器镜像和容器卷。Podman 专注于帮助您维护和修改 OCI 容器映像的所有命令和功能,例如拉取和标记。它允许您在生产环境中创建、运行和维护从这些映像创建的容器。

Podman 服务仅运行在 Linux 平台上,但 Podman 远程 REST API 客户端存在于 Mac 和 Windows 平台上,并且可以通过 ssh 与运行在 Linux 机器或 VM 上的 Podman 服务进行通信。

docker是一个容器引擎,podman也是一个容器引擎

podman官网 https://podman.io/

podman安装

[root@Aimmi ~]# yum -y install podman-docker
[root@Aimmi ~]# which podman
/usr/bin/podman
[root@Aimmi ~]# which docker
/usr/bin/docker

常用命令

podman images 查看所有本地主机上的镜像
[root@Aimmi ~]# podman images
REPOSITORY  TAG         IMAGE ID    CREATED     SIZE

REPOSITORY  镜像的仓库源
TAG         镜像的标签
IMAGE ID    镜像的id
CREATED     镜像的创建时间

podman search 搜索镜像
[root@Aimmi ~]# podman search nginx
INDEX              NAME                                                          DESCRIPTION                                      STARS       OFFICIAL    AUTOMATED
fedoraproject.org  registry.fedoraproject.org/f29/nginx                                                                           0                       
fedoraproject.org  registry.fedoraproject.org/f29/origin-nginx-router                                                             0                       
redhat.com         registry.access.redhat.com/ubi8/nginx-118                     Platform for running nginx 1.18 or building ...  0                       
redhat.com         registry.access.redhat.com/ubi8/nginx-120                     Platform for running nginx 1.20 or building ...  0                       
redhat.com         registry.access.redhat.com/rhscl/nginx-110-rhel7              Nginx container image that delivers an nginx...  0                       
redhat.com         registry.access.redhat.com/rhscl/nginx-16-rhel7               Nginx 1.6 server and a reverse proxy server      0                       
redhat.com         registry.access.redhat.com/rhscl/nginx-18-rhel7               Nginx 1.8 server and a reverse proxy server      0                       
redhat.com         registry.access.redhat.com/rhscl/nginx-112-rhel7              Nginx is a web server and a reverse proxy se...  0                       
redhat.com         registry.access.redhat.com/ubi7/nginx-118                     Platform for running nginx 1.18 or building ...  0                       
redhat.com         registry.access.redhat.com/rhscl/nginx-114-rhel7              Nginx is a web server and a reverse proxy se...  0                       
redhat.com         registry.access.redhat.com/3scale-amp23/apicast-gateway        3scale's API gateway (APIcast) is an OpenRe...  0                       
redhat.com         registry.access.redhat.com/3scale-amp20/apicast-gateway       3scale's API gateway (APIcast) is an OpenRes...  0                       
redhat.com         registry.access.redhat.com/rhamp10/apicast-gateway            3scale's API gateway (APIcast) is an OpenRes...  0                       
redhat.com         registry.access.redhat.com/3scale-amp20-beta/apicast-gateway  3scale's API gateway (APIcast) is an OpenRes...  0                       
redhat.com         registry.access.redhat.com/3scale-amp25/apicast-gateway       3scale's API gateway (APIcast) is an OpenRes...  0                       
redhat.com         registry.access.redhat.com/3scale-amp21/apicast-gateway       3scale AMP image used for API gateway            0                       
redhat.com         registry.access.redhat.com/3scale-amp24/apicast-gateway       No description                                   0                       
redhat.com         registry.access.redhat.com/rhmap45/wildcard-proxy             RHMAP image that provides mapping and proxy ...  0                       
redhat.com         registry.access.redhat.com/rhmap46/wildcard-proxy             RHMAP image that provides mapping and proxy ...  0                       
redhat.com         registry.access.redhat.com/rhmap47/wildcard-proxy             RHMAP image that provides mapping and proxy ...  0                       
redhat.com         registry.access.redhat.com/rhmap43/wildcard-proxy             RHMAP Docker image that provides mapping and...  0                       
redhat.com         registry.access.redhat.com/rhmap44/wildcard-proxy             RHMAP Docker image that provides mapping and...  0                       
redhat.com         registry.access.redhat.com/3scale-amp22/apicast-gateway       APIcast API gateway needs connection to the ...  0                       
centos.org         registry.centos.org/bamachrn/nginx-header                                                                      0                       
centos.org         registry.centos.org/centos/nginx                                                                               0                       
centos.org         registry.centos.org/centos/nginx-110-centos7                                                                   0                       
centos.org         registry.centos.org/centos/nginx-112-centos7                                                                   0                       
centos.org         registry.centos.org/centos/nginx-114-centos7                                                                   0                       
centos.org         registry.centos.org/centos/nginx-116-centos7                                                                   0                       
centos.org         registry.centos.org/centos/nginx-18-centos7                                                                    0                       
centos.org         registry.centos.org/fabric8/openshift-nginx                                                                    0                       
centos.org         registry.centos.org/fabric8/openshift-nginx-tag                                                                0                       
centos.org         registry.centos.org/kbsingh/openshift-nginx                                                                    0                       
centos.org         registry.centos.org/mattermost/nginx-redirector                                                                0                       
centos.org         registry.centos.org/openshift/origin-nginx-router                                                              0                       
centos.org         registry.centos.org/sclo/nginx-16-centos7                                                                      0                       
centos.org         registry.centos.org/sclo/nginx-18-centos7                                                                      0                       
docker.io          docker.io/library/nginx                                       Official build of Nginx.                         15928       [OK]        
docker.io          docker.io/jwilder/nginx-proxy                                 Automated Nginx reverse proxy for docker con...  2101                    [OK]
docker.io          docker.io/nginxinc/nginx-unprivileged                         Unprivileged NGINX Dockerfiles                   55                      
docker.io          docker.io/nginx/nginx-ingress                                 NGINX and  NGINX Plus Ingress Controllers fo...  57                      
docker.io          docker.io/richarvey/nginx-php-fpm                             Container running Nginx + PHP-FPM capable of...  820                     [OK]
docker.io          docker.io/nginxdemos/hello                                    NGINX webserver that serves a simple page co...  79                      [OK]
docker.io          docker.io/nginx/nginx-prometheus-exporter                     NGINX Prometheus Exporter for NGINX and NGIN...  22                      
docker.io          docker.io/privatebin/nginx-fpm-alpine                         PrivateBin running on an Nginx, php-fpm & Al...  61                      [OK]
docker.io          docker.io/jlesage/nginx-proxy-manager                         Docker container for Nginx Proxy Manager         145                     [OK]
docker.io          docker.io/mailu/nginx                                         Mailu nginx frontend                             9                       [OK]
docker.io          docker.io/jc21/nginx-proxy-manager                            Docker container for managing Nginx proxy ho...  288                     
docker.io          docker.io/linuxserver/nginx                                   An Nginx container, brought to you by LinuxS...  160                     
docker.io          docker.io/wodby/nginx                                         Generic nginx                                    1                       [OK]
docker.io          docker.io/nginxproxy/nginx-proxy                              Automated Nginx reverse proxy for docker con...  29                      
docker.io          docker.io/schmunk42/nginx-redirect                            A very simple container to redirect HTTP tra...  19                      [OK]
docker.io          docker.io/staticfloat/nginx-certbot                           Opinionated setup for automatic TLS certs lo...  25                      [OK]
docker.io          docker.io/ansibleplaybookbundle/nginx-apb                     An APB to deploy NGINX                           3                       [OK]
docker.io          docker.io/tiangolo/nginx-rtmp                                 Docker image with Nginx using the nginx-rtmp...  147                     [OK]
docker.io          docker.io/centos/nginx-112-centos7                            Platform for running nginx 1.12 or building ...  16                      
docker.io          docker.io/alfg/nginx-rtmp                                     NGINX, nginx-rtmp-module and FFmpeg from sou...  111                     [OK]
docker.io          docker.io/centos/nginx-18-centos7                             Platform for running nginx 1.8 or building n...  13                      
docker.io          docker.io/sophos/nginx-vts-exporter                           Simple server that scrapes Nginx vts stats a...  7                       [OK]
docker.io          docker.io/bitwarden/nginx                                     The Bitwarden nginx web server acting as a r...  11                      
docker.io          docker.io/flashspys/nginx-static                              Super Lightweight Nginx Image                    11                      [OK]
docker.io          docker.io/webdevops/nginx                                     Nginx container                                  9                       [OK]

选择starts 大于等于5000的镜像源
[root@Aimmi ~]# podman search nginx -f=stars=5000
INDEX       NAME                     DESCRIPTION               STARS       OFFICIAL    AUTOMATED
docker.io   docker.io/library/nginx  Official build of Nginx.  15928       [OK]        

podman pull 下载镜像
[root@Aimmi ~]# podman pull  docker.io/library/mysql
Trying to pull docker.io/library/mysql:latest...
Getting image source signatures
Copying blob fa362a6aa7bd done  
Copying blob 949da226cc6d done  
Copying blob ffbb094f4f9e done  
Copying blob df186527fc46 done  
Copying blob 5af7cb1a200e done  
Copying blob eab9f076e5a3 done  
Copying blob bce007079ee9 done  
Copying blob 8a57a7529e8d done  
Copying blob b1ccc6ed6fc7 done  
Copying blob b4af75e64169 done  
Copying blob 3aed6a9cd681 done  
Copying blob 23390142f76f done  
Copying config bbf6571db4 done  
Writing manifest to image destination
Storing signatures
bbf6571db4977fe13c3f4e6289c1409fc6f98c2899eabad39bfe07cad8f64f67

[root@Aimmi ~]# podman pull mysql:5.7       指定某个版本下载

podman rmi 镜像名 删除镜像
podman images                       # 查看拉取的本地镜像
podman rmi   IMAGE ID               # 删除镜像

podman run 命令
docker run [可选参数] image

# 参数说明
--name = "Name"    容器名字  tomcat01,tomcat02,用来区分容器
-d                 后台方式运行
-it                使用交互方式运行,进入容器查看区分
-p                 指定容器的端口 -p 8080:8080

-p ip:主机端口:容器端口
    -p 主机端口:容器端口(常用)
    -p 容器端口
    容器端口
-p                 随机指定端口
[root@Aimmi ~]# podman run -it docker.io/library/busybox /bin/sh
Trying to pull docker.io/library/busybox:latest...
Getting image source signatures
Copying blob 3cb635b06aa2 done  
Copying config ffe9d497c3 done  
Writing manifest to image destination
Storing signatures
/ # exit

podman rm 删除容器
podman rm 容器id                  # 删除指定容器,不能删除正在运行的容器,如果要强制删除 rm -f
podman rm -f $(docker ps -aq)    # 删除所有的容器
podman ps -aq|xargs podman rm    # 删除所有的容器

启动和停止容器的操作
podman start 容器id        # 启动容器
podman restart 容器id      # 重启容器
podman stop 容器id         # 停止当前正在运行的容器
podman kill 容器id         # 强制停止当前容器

后台启动容器
[root@Aimmi ~]# podman run -d centos

podman logs 查看日志
podman logs [OPTIONS] CONTAINER

-f : 跟踪日志输出

--since :显示某个开始时间的所有日志

-t : 显示时间戳

--tail :仅列出最新N条容器日志


# 查看某个容器,最新的10条日志信息
podman logs -ft --tail 10 d56ce4398bc5

# 查看某个容器,从某一日期到现在的所有日志
podman logs --since="2021-04-11"  d56ce4398bc5

podman inspect  查看容器详情数据
[root@Aimmi ~]# podman inspect d56ce4398bc5

进入容器
[root@Aimmi ~]# docker exec -it 容器id  /bin/bash
posted @ 2021-12-14 12:44  Aimmi  阅读(204)  评论(0)    收藏  举报