网站首页 > 技术教程 正文
Podman简介
还是先简要介绍一下Podman,Podman 是 RedHat 推出一个开源的容器运行时项目,支持多数 Linux、Windows、Mac平台(Windows和Mac平台以podman machine虚拟化形式运行)。
Podman 在安全上面有较大改进,不需要在系统上运行守护进程,并且也可以在没有 root 权限的情况下运行,兼容性层面可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。
在操作层面,Podman 提供与 Docker 非常相似的功能,提供了一个几乎与 Docker 完全兼容的命令行,大大减少了我们的学习成本。
常规操作示例:
podman --help
podman exec 在已运行的容器内运行命令
podman images 列出已有镜像
podman inspect 查看容器的配置信息
podman ps 查看运行的容器
podman pull 从镜像仓库拉取镜像
podman restart 重启容器
podman rmi 删除镜像
podman run 创建、启动容器
podman stop 停止容器
……
可以看到Podman在操作上和Docker基本无差异,所以这里就不多做介绍了。
今天主要给大家介绍一下Podman的API功能,用命令行和Python调用进行直观展示。
准备开启RESTful API
先准备俩镜像
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/busybox latest bc01a3326866 2 weeks ago 1.46 MB
docker.io/library/nginx latest 76c69feac34e 2 weeks ago 146 MB
启动容器
$ podman run -dt --name qqls01 busybox
$ podman run -dt -p 80:80 --name qqls02 nginx
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b16d615fa92 docker.io/library/busybox:latest sh 2 hours ago Up 2 hours ago qqls01
409d404a7ed6 docker.io/library/nginx:latest nginx -g daemon o... 2 hours ago Up 2 hours ago 0.0.0.0:80->80/tcp qqls02
启动Podman API service进程
$ podman system service tcp:0.0.0.0:8080 --time=0 &
命令行调用接口展示:
查看基础信息
curl -s http://192.168.1.1:8080/v2.0.0/libpod/info | jq
查看已有镜像
$ curl -s http://192.168.1.1:8080/v2.0.0/libpod/images/json | jq .[].Names
[
"docker.io/library/busybox:latest"
]
[
"docker.io/library/nginx:latest"
]
查看运行的容器
$ curl -s http://192.168.1.1:8080/v2.0.0/libpod/containers/json?all=true | jq .[].Names
[
"qqls01"
]
[
"qqls02"
]
Python调用接口展示:
import json
import requests
res = requests.get("http://192.168.1.1:8080/v2.0.0/libpod/containers/json?all=true")
res.raise_for_status()
ctn = json.loads(res.text)
for c in ctn:
print(c['Names'][-1])
$ python3 test.py
qqls01
qqls02
总结:
Podman的API接口比较丰富,有兴趣的可以自行查询了解。
当前Redhat/CentOS从8.0开始默认集成Podman,从容器技术发展角度有必要去学习一下。
** 定期发布新技术,欢迎关注评论交流 **
猜你喜欢
- 2024-10-16 LNMP环境搭建-nginx(lnmp搭建后怎么做网站)
- 2024-10-16 进阶必备 | Linux系统管理工具 supervisor 详解,代码齐全可复制
- 2024-10-16 K8S 之 Ingress-nginx 源码解析(k8s nginx配置)
- 2024-10-16 编排系统K8S Ingress-nginx源码解析
- 2024-10-16 让博客Docker化,轻松上手Docker(博客登录界面)
- 2024-10-16 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-10-16 Docker:网络模式详解(docker五种网络模式)
- 2024-10-16 k8s日志收集 多pod挂载不同目录方案
- 2024-10-16 Docker部署前端Web项目(docker部署webdav)
- 2024-10-16 Docker容器操作(docker容器操作命令)
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)