另外容器镜像格式方面在 Docker 和 Podman 之间也是完全兼容的。所以现有的镜像,不论是docker官方镜像,还是我们以往自己构建的docker镜像,都可以在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;
尝试在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切换到宿主机的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)收录**