podman 简介
Podman 是一个开源项目,在 GitHub 上已获得超过 12,000 个星标,可以在大多数 Linux 平台上运行。Podman 是一个无守护进程的容器引擎,用于在 Linux 系统上开发、管理和运行 OCI(开放容器倡议)容器和容器镜像。Podman 提供了与 Docker 兼容的命令行工具,用户可以简单地将 docker 命令别名设置为 podman,因此,如果你熟悉 Docker,可以轻松上手 Podman。
安装和启动 在 CentOS 7 上,可以使用 yum 命令安装 Podman:
yum -y install podman
安装成功后,使用以下命令启动 Podman 服务:
systemctl start podman
使用 要下载 Nginx 镜像,可以使用以下命令:
podman pull nginx:1.10
在下载镜像时,可以选择不同的镜像源,例如从 docker.io(即 DockerHub)下载。

由于 Podman 容器默认情况下没有权限访问宿主机的文件系统,当需要进行目录挂载时,需要使用 --privileged 选项来开启权限。以下是运行 Nginx 容器的命令,与 Docker 类似:
podman run -p 80:80 --name nginx --privileged -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -d nginx:1.10
运行成功后,将 mall学习教程 前端项目放入 /mydata/nginx/html 目录即可正常访问。

运行 MySQL 容器的命令与使用 Docker 类似:
podman run -p 3306:3306 --name mysql --privileged -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
进入 MySQL 容器并查看数据库信息的命令如下:
# 进入 MySQL 容器podman exec -it mysql /bin/bash# 登录 MySQLmysql -proot -uroot# 查看所有数据库show databases;
Podman 的使用体验与 Docker 非常相似,感觉就像是换了个壳的 Docker。

接下来,我们尝试在 Podman 中运行一个 Spring Boot 应用。首先,下载已上传到 DockerHub 的镜像:
docker pull macrodocker/mall-tiny-boot:latest
运行 Spring Boot 应用时,遗憾的是 Podman 不支持 --link 选项来连接 MySQL 容器,只能使用 IP 地址访问 MySQL 服务:
podman run -p 8088:8088 --name mall-tiny-boot --privileged -e spring.datasource.url='jdbc:mysql://192.168.3.106:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai' -v /etc/localtime:/etc/localtime -v /mydata/app/mall-tiny/logs:/var/logs -d macrodocker/mall-tiny-boot:latest
运行成功后,可以访问 Spring Boot 应用的 Swagger 页面,访问地址为:https://www.php.cn/link/abc8818c03e3574658e1a5dd95d2ff8d

使用 podman ps 命令可以查看所有运行中的容器:

使用 podman images 命令可以查看所有下载的镜像:

如果未安装 Docker 而输入 docker 命令,会提示安装 podman-docker 插件,该插件会直接将 docker 命令转换为 podman 命令,这是否意味着 Podman 想要彻底取代 Docker?

可视化管理 打开 Podman 容器管理界面,可以查看所有运行中的容器和已下载的镜像:

还可以实时查看容器日志,重启、停止或删除容器:

也可以直接进入容器执行命令,比如查看 MySQL 容器中的数据库:

还可以直接进行镜像下载:

通过镜像来运行容器也非常方便:

Podman VS Docker
架构无守护进程,可在启动容器的用户下运行容器使用守护进程创建镜像和运行容器安全允许容器使用 Rootless 特权守护进程拥有 Root 权限运行容器需要其他工具来管理服务并支持后台容器的运行使用守护进程管理和运行容器构建镜像需要容器镜像生成器 Buildah 的辅助可以自己构建容器镜像理念采用模块化的方法,依靠专门的工具来完成特定任务一个独立的、强大的工具使用兼容大部分 Docker 命令,有专门的 Docker 兼容插件使用自己的命令
总结 今天体验了一把 Podman,确实与 Docker 使用起来非常相似。Podman 和 Docker 的主要区别在于是否使用守护进程来管理容器以及它们的理念。Docker 强调 all in one,致力于成为一款功能强大的工具,而 Podman 则更强调 模块化,通过其他工具的辅助来完成特定任务。Docker 和 Podman 都是非常优秀的容器引擎,如果你的项目中已经使用了 Docker,没必要换成 Podman,如果你的项目才起步,技术选型时可以考虑 Podman。
项目地址:https://www.php.cn/link/f915833c0979810086c2ea49db2993c6
以上就是Podman 已成 Linux 官方标配!Docker 没戏了?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/20534.html
微信扫一扫
支付宝扫一扫