首页 > 运维 > linux运维 > 正文

Podman 已成 Linux 官方标配!Docker 没戏了?

絕刀狂花
发布: 2025-07-16 09:58:02
原创
446人浏览过

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 已成 Linux 官方标配!Docker 没戏了?

由于 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 目录即可正常访问。

Podman 已成 Linux 官方标配!Docker 没戏了?

运行 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
# 登录 MySQL
mysql -proot -uroot
# 查看所有数据库
show databases;
登录后复制

Podman 的使用体验与 Docker 非常相似,感觉就像是换了个壳的 Docker。

Podman 已成 Linux 官方标配!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 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

快标书AI
快标书AI

10分钟生成投标方案

快标书AI 241
查看详情 快标书AI

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

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

Podman 已成 Linux 官方标配!Docker 没戏了?

Podman VS Docker

Podman 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 没戏了?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号