什么是 Podman?
Podman
是一种符合OCI
标准的容器管理工具,它提供与Docker
类似的功能来管理容器。
特别是在容器安全方面(相对于 Docker
容器工具),podman
的 rootless containers
特性在一定程度上避免了容器安全问题。
举个例子:
- 假如
Linux
系统中有两个用户,分别是user-a
和user-b
,当user-a
使用podman
创建一个容器container-a
,此时创建的容器container-a
不能被user-b
用户来修改,反之亦然。
Podman
的最佳特性之一是它能够运行 rootless containers
。rootless containers
是在没有 root
权限(普通用户)的情况下运行和管理容器的概念。从安全的角度来看,无根容器通过不允许根访问添加了额外的安全层,即使容器被攻击者破坏也是如此。
Podman
也是无守护进程的(与 docker
不同),这意味着它没有守护进程并直接与 runc
交互(运行基于 OCI
规范的容器)。
Podman
的另一个有趣且高级的功能是在 Pod
中运行容器。与 Kubernetes pod
类似,您可以使用 Podman
在本地创建多容器 Pod
。您可以将 podman pod
导出为 Kubernetes
清单,并使用 Kubernetes pod
清单来部署和运行 podman pod
。
关于 Docker 和 Podman 之间的区别,相关文件推荐:
Docker 与 Podman 区别
Podman
提供了类似 Docker
管理容器的功能,下面列举下它们两者的区别:
Podman | Docker |
---|---|
Podman 是无守护进程的 | Docker 有一个守护进程 (containerd )。docker CLI 与守护进程交互以管理容器。 |
Podman 直接通过 runc 与 Linux 内核交互 | Docker 守护进程拥有所有运行容器的子进程 |
Podman 可以部署具有多个容器的 pod 。可以在 Kubernetes 中使用相同的 pod 清单。此外,您可以将 K8s pod 清单部署为 Podman pod 。 | Docker 中没有 pod 的概念 |
无需任何额外配置即可运行无根容器( rootless )。您可以使用 root 或非特权用户运行容器。 | Docker 无根模式( rootless )需要额外的配置。 |
修改 Podman 容器注册表配置
双击 Podman Desktop
图标,打开 GUI
工具,点击左下角的设置【Settings
】选择【Registries
】:
如上图所示,默认情况下,podman
配置有 4
个容器注册表:
- Docker Hub,
https://docker.io
- Red Hat Quay,
https://quay.io
- GitHub,
https://ghcr.io
- Google Container Registry,
https://gcr.io
您可以在以下文件中找到默认的 Podman
容器注册表配置文件 registries.conf
:
- 全局配置文件:
/etc/containers/registries.conf
- 用户配置文件:
~/.config/containers/registries.conf
您可以向此配置添加自定义或私有容器注册表。例如,google
容器注册表、AWS ECR
、自托管私有注册表等。
如果你想使用注册中心的其他私有容器镜像,你可以使用命令登录到注册中心 podman
。
例如,要登录到 docker hub
。
podman login docker.io
登录后,您将能够使用 podman
命令从 docker hub
中拉取容器镜像。
如果您希望为特定用户提供不同的注册表配置,您可以 registries.conf
在用户目录中创建单独的容器注册表信息。
$HOME/.config/containers/registries.conf
国内直接用 podman pull
拉取镜像会很慢(可能拉取失败),所以需要配置国内镜像源来加速访问。
国内的镜像源
国内的镜像源(镜像站)加速地址有:
- 阿里云(需登录,免费),
http://<你的ID>.mirror.aliyuncs.com
- 网易,
http://hub-mirror.c.163.com
- 百度,
https://mirror.baidubce.com
- 上海交大,
https://docker.mirrors.sjtug.sjtu.edu.cn
- 南京大学,
https://docker.nju.edu.cn
以下连接不公开或已失效:
Docker
中国官方镜像(已关闭),https://registry.docker-cn.com
- 中国科技大学
USTC
(仅供内部访问),https://docker.mirrors.ustc.edu.cn
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-5uRZ4Jx8-1712621704688)]