使用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. USB 控制写传输、控制读传输、无数据控制传输都是在什么场景下?

    在 USB 通信中,控制传输(Control Transfer)是一个非常常见且重要的传输类型,主要用于配置设备.查询设备状态以及发送和接收命令.控制传输有三种主要形式:控制写传输(Control W ...

  2. 一个SMMU内存访问异常的问题

    最近碰到棘手的问题: 以太网进行iperf测试时, 发生了SMMU (System Memory Management Unit)访问异常导致内核崩溃. 原本只是内部测试发现, 后面在试验车上也概率性 ...

  3. Java日期时间API系列29-----Jdk8中java.time包中的新的日期时间API类,Java定时任务job中cron表达式计算应用。

    Java开发过程中经常会用到定时任务job的场景,比如定时处理数据报表等问题,开源作业调度框架也非常多,常用的开源作业调度框架有:Spring Task.Quartz和xxl-job等.各个框架的具体 ...

  4. 使用 vue2 + element-ui 登录的时候的逻辑

    1. 自动校验表单逻辑 // 1. 自动表单验证 try { // 这个形式自动表单验证麻烦 // this.$refs.loginForm.validate((valid)=>{ ... }) ...

  5. 干货收藏!Calico 路由反射模式权威指南

    1. 概述 作为 Kubernetes 最长使用的一种网络插件,Calico 具有很强的扩展性,较优的资源利用和较少的依赖,相较于 Flannel 插件采用 Overlay 的网络,Calico 可以 ...

  6. 怎么使用云桌面(云电脑)?ToDesk新手入门教程

    在当今数字化时代,个人用户对于电脑性能的需求日益提升,而云电脑(又可称为云桌面)作为一种新型的电脑配备模式,正在逐渐进入人们的视野. 对于很多新手来说,可能是第一次接触到云电脑软件,今天小社长就以To ...

  7. IDEA久违了!FeignX插件支持方法级别的导航跳转

    > 需求调研:发现身边的同事追踪业务代码的时候,如果遇见feign接口,大家都是通过全局搜url进一步找到远程服务的实现.一旦项目大起来,路径变得复杂甚至重名之后,这将会是灾难. 市面上并没有很 ...

  8. Java高并发,ArrayList、HashSet、HashMap不安全的集合类

    首先是我们的ArrayList: 这次我们讲解的是集合的不安全,首先我们都知道ArrayList吧! List<String> list=new ArrayList<>(); ...

  9. docker的使用-01配置国内镜像仓库提高加快拉取镜像的速度

    docker的使用-01配置国内镜像仓库提高加快拉取镜像的速度 我的docker版本:(win10专业版,安装的当前最新版docker desktop) docker --version Docker ...

  10. uniswap v2 类比

    当然,以下是生活中的类比,帮助你理解 Uniswap V2 的核心概念: 1. 自动化做市商(AMM) 生活中的例子:自动售货机 解释:自动售货机内部有一种商品(如饮料)和一定的库存.用户通过投币购买 ...