0

0

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

絕刀狂花

絕刀狂花

发布时间:2025-07-16 09:58:02

|

468人浏览过

|

来源于php中文网

原创

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 没戏了?

PictoGraphic
PictoGraphic

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

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

654

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

244

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

513

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

250

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

385

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

523

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

595

2023.08.14

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.8万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.2万人学习

Sass 教程
Sass 教程

共14课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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