docker时代落幕,podman开启容器技术新剧场,海量算法高频面试题精编解析

查看版本


# 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...



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/cf26478effe0e56445982b9db9f6c547.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/af65771f56fa27b3f1a829356b71697b.png)
![img](https://img-blog.csdnimg.cn/img_convert/3da7633cc28973bb3bee4ea6644a4801.png)
![img](https://img-blog.csdnimg.cn/img_convert/298e2550136772def4f10d32a9816a42.png)
![img](https://img-blog.csdnimg.cn/img_convert/49a1e5618b6908e7b22d7390db7df861.png)
![img](https://img-blog.csdnimg.cn/img_convert/479691902c54a0519f469c13b9732cf9.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**
![img](https://img-blog.csdnimg.cn/img_convert/e69f640be3f5dcaffa5b62c19840dc68.jpeg)



### Java核心架构进阶知识点

面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的

![image](https://img-blog.csdnimg.cn/img_convert/c5ad1717a8ad9f3731e8db4502f55953.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/df887799f32c8106a0d31c4b209ff78d.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/0398fa4b76b552f716c2c05a0e1bc3a2.webp?x-oss-process=image/format,png)

内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补


**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/3ef54d62d8a39da28c6e1384514d4bd4.jpeg)

...(img-BcQYE2ps-1712717856382)]

内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补


**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-LeAjMYyi-1712717856382)]

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值