docker时代落幕,podman开启容器技术新剧场

另外容器镜像格式方面在 Docker 和 Podman 之间也是完全兼容的。所以现有的镜像,不论是docker官方镜像,还是我们以往自己构建的docker镜像,都可以在podman环境下使用。

四、上手podman


4.1.安装

下面我们就来简单的搞一搞,在CentOS操作系统可以直接使用yum命令安装podman。事先说明的是我这个是一台新的最小化安装的CentOS7虚拟机,并不包含docker,也不曾安装。


yum -y install podman    # root用户安装



查看版本


# podman version

Version:            1.6.4

RemoteAPI Version:  1

Go Version:         go1.12.12

OS/Arch:            linux/amd64



新建podman用户,后续使用该用户运行容器。


adduser podman   # root用户新建podman用户



4.2.CentOS7环境下需要做的特殊处理

出于上文中所说的安全性考虑,我们不使用root用户操作镜像及容器。所以需要做如下的一些配置。

如果你使用CentOS7,需要做如下的一些特殊处理。其他的操作系统可能需要不同的解决方案,这些解决方案基本大同小异。

如果你使用root用户运行镜像容器,这些特殊处理就不需要做,直接就可以用

CentOS7默认关闭用户namespace,将它打开


echo 10000 > /proc/sys/user/max_user_namespaces;

grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)";

echo "user.max_user_namespaces=10000" >> /etc/sysctl.conf;



4.3. 配置非root用户id及组id范围


尝试在linux宿主机操作系统新建用户podman用户环境下执行nginx镜像拉取


su - podman                               # 切换用户为podman

podman pull docker.io/library/nginx   # 执行拉取镜像



如果你有如下的报错信息


ERRO[0000] cannot find mappings for user podman: No subuid ranges found for user "podman" in /etc/subuid



或者如下报错信息


 Error processing tar file(exit status 1): there might not be enough IDs available in the namespace



请退出podman用户切换回到root用户(exit命令),执行下列命令,podman为运行容器的一个非root用户


echo "podman:100000:65536" >> /etc/subuid

echo "podman:100000:65536" >> /etc/subgid



这段配置的作用就是设置一个容器内的操作系统与宿主机操作系统用户的uid、gid之间的映射关系。如上所示 100000 - 165535(100000 + 65535) 在宿主机的id就映射到容器内的 0-65535的用户。配置完之后执行如下命令


podman system migrate



官方解释上面的命令可以让配置生效,但是不知道什么原因,笔者执行该命令配置并未生效,而是重启了一下操作系统才生效。

五、在非root用户下容器镜像的使用


同样的先把root切换到宿主机的podman用户


su - podman



拉取镜像命令


$ podman pull docker.io/library/nginx



Trying to pull docker.io/library/nginx...

Getting image source signatures

Copying blob 1ae07ab881bd done  

Copying blob 091c283c6a66 done  

Copying blob 78091884b7be done  



# 总结

蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。蚂蚁的工作环境还是挺赞的,因为我面的是稳定性保障部门,还有许多单独的小组,什么三年1班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。

* * *

**经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有**:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

![蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上](https://img-blog.csdnimg.cn/img_convert/165a644e3bc6f04d153c1aab7ff43755.webp?x-oss-process=image/format,png)

班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。

* * *

**经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有**:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

[外链图片转存中...(img-7WUAvKyX-1714286663237)]

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值