使用Podman最好的地方就是支持rootless,也就是说用户不需要为root权限即可进行容器的管理操作。因此现在在CentOS 8及以后的版本中,默认使用Podman替代Docker,如果使用docker命令,会重定向到podman。

rootless很好,但是也带来了一些问题:

多余的提示

运行命令的时候,只要输入了docker,那么就会弹出提示:

docker Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.

如果就是单纯的提示,那么问题不大。不过很多第三方的脚本执行的时候,没有考虑到podman的兼容性,出现了多余的提示会认为docker执行命令失败,我们需要去除它。方法也比较简单,按照提示,执行:

sudo echo >> /etc/containers/nodocker

出现一个空文件即可,后面执行文件就不出现提示了。

提示无法映射1024以下的特权端口

非root用户使用docker时,对外使用80端口系统提示非root用户无法使用1024以下的端口,需要添加设置:

#当前设置
sysctl net.ipv4.ip_unprivileged_port_start=80
#永久设置
echo "net.ipv4.ip_unprivileged_port_start=80" >> /etc/sysctl.conf

重启之后Podman容器无法自动启动

dockerroot绑定,启动的时候能够自动启动标记为-d的容器,但是podman不行,需要进行额外的操作,详细看这篇文章。总之就是麻烦,不如docker这么简单直接。

总结

由于一直使用root进行登录,非常容易被攻击挂马,改用其他用户能够显著改善这个问题,但是需要谨慎处理podman与docker之间的兼容性问题。

Podman与docker兼容性问题的更多相关文章

  1. Docker Vs Podman

    翻译自 Chetansingh 2020年4月24日的博文<Docker Vs Podman> [1] 容器化的一场全新革命是从 Docker 开始的,Docker 的守护进程管理着所有的 ...

  2. Podman and Buildah for Docker users

    转自:https://developers.redhat.com/blog/2019/02/21/podman-and-buildah-for-docker-users/ I was asked re ...

  3. podman初试-和docker对比

    podman初试-和docker对比 1,什么是docker? Docker 是一个开源的应用容器引擎,属于 Linux 容器的一种封装,Docker 提供简单易用的容器使用接口,让开发者可以打包他们 ...

  4. Docker 与 Podman 容器管理的比较

    翻译自 Paul Ferrill 2020年9月1日的文章<Compare Docker vs. Podman for container management> [1] Docker 和 ...

  5. docker的平替--podman

    前言 我们都知道,docker这个东西,是CaaS(Container as a Service,容器即服务)的通常解法.我们使用docker来管理容器的生命周期,比如镜像的生成.容器的管理和定制(D ...

  6. 选择 podman 的理由, 以及它和 Kubernetes , Docker 的区别

    转载自https://zhuanlan.zhihu.com/p/506265757 前言 大家好,我是 Liangdi, podman 4.x 版本已经发布了, 我也从 docker 开始向 podm ...

  7. Podman容器技术基础

    Podman容器技术基础 目录 Podman容器技术基础 简介 安装 基础命令 简介 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker ...

  8. Docker三剑客之Docker Compose

    一.什么是Docker Compose Compose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/comp ...

  9. Docker(二十六)-Docker Compose编排容器

    1. 前言 Docker Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器. 使用Compose 基本上分为三步: Dockerfile 定义应用 ...

  10. Docker 学习记录笔记(一)

    Docker 一些简单的命令列表docker build -t friendlyhello . # Create image using this directory's Dockerfiledock ...

随机推荐

  1. WeiXin.Export.20220726

    用 QuestPDF操作生成PDF更快更高效! Blazor Server 应用程序中进行 HTTP 请求 开源WPF控件库-AdonisUI FastTunnel-开源内网穿透框架 AI 之 Ope ...

  2. Android 常用的性能分析工具详解:GPU呈现模式

    此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activit ...

  3. 深度学习 - Torch-TensorRT 推理加速

    深度学习 - Torch-TensorRT 推理加速 Torch-TensorRT 作为 TorchScript 的扩展. 它优化并执行兼容的子图,让 PyTorch 执行剩余的图. PyTorch ...

  4. JDBC 和 Mybatis

    使用JDBC连接操作数据库 Mybatis是JDBC的二次封装 使用更加简单了

  5. Notepad--特色功能:拷贝另存为

    Notepad--特色功能:拷贝另存为 你是否纠结如下的使用场景: 正在编辑的文件,还没有想好,保存担心把原文件给覆盖了. 使用"另存为"后当前编辑界面的文档又变成新的文件了,可是 ...

  6. linux 配置apache的虚拟主机

    基于web的开发,若没有配置虚拟主机,一直在浏览器输入localhost/projectname有点复杂 特别是类似thinkphp框架的,一大串:localhost/php/tp5/public.. ...

  7. 配置和使用nvm免安装版本(nvm-noinstall.zip)

    配置和使用nvm免安装版本(nvm-noinstall.zip) NVM(Node Version Manager)是一个用于管理多个Node.js版本的命令行工具一下分几个步骤说明如何配置和使用nv ...

  8. CSP-S模拟赛20241004

    A 你考虑 可以把这个数组当中的每个数表示成另一种形式:\(a_i = k_i\times x+b\)(其中\(x\)是模数,\(b\)为余数). 对于求两个数是否对于某个余数同余,显然你要判断他们两 ...

  9. 鲜花:bitset求解高维偏序

    书接上回 一维偏序直接做.二维偏序套线段树或归并排序.三维偏序可以树套树或者 CDQ 套树,那四维偏序呢?可以 CDQ 套树套树.那五维偏序呢?可以发现,无论是 CDQ 分治还是树,都很难再继续嵌套, ...

  10. Nginx支持https访问

    为了提高web应用的安全性,现在基本上都需要支持https访问.在此记录一下自己在nginx下的配置过程 安装Nginx这里就省略了 安装openssl模块 yum -y install openss ...