kubernetes将弃用docker,是时候拥抱podman了

kubernetes将弃用docker,是时候拥抱podman了

今天无意中看到kubernetes官网在12月2日发布了一篇文章(有点后知后觉),表示将在未来一年的版本中逐渐弃用docker容器支持,链接如下:
https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/

大概意思就是kubernetes即将放弃内置docker shim,docker shim在kubelet中使用,实现了对docker的CRI支持。未来想在kubernetes中使用docker,就需要在外部使用docker shim,或者使用其他的CRI

参考链接:
https://www.cnblogs.com/charlieroro/articles/10998203.html

然后再说一说podman,podman是redhat发行的容器管理工具,类似于docker,但是没有守护进程。podman提供了一个指令和docker十分类似的命令行前端,有87%的指令都和docker cli相同,基本上把docker命令套用在podman上就可以用。
在2019年发行的Centos8中,直接预装了podman用来替代之前的docker

当然,podman能否被市场广泛接受还需要时间的检验。毕竟在服务器运维这一块向来求稳为主。你看Centos8发行了这么久了,现在还有不少单位仍在用Centos6

podman官方网站地址:https://podman.io/

podman cli 中有87%的指令都和docker cli相同,基本上把docker命令套用在podman上就可以用。

我用的是腾讯云,3M带宽,Centos7.8的系统
podman的安装:

sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/CentOS_7/devel:kubic:libcontainers:stable.repo
sudo yum -y install yum-plugin-copr
sudo yum -y copr enable lsm5/container-selinux
sudo yum -y install podman

查看podman的版本

[root@VM-0-5-centos ~]# podman --version
podman version 2.2.1

然后我之前写的Dockerfile,在podman中一样能跑,执行命令都跟docker一模一样:

[root@VM-0-5-centos dockerfile]# podman build -t image_002 .
STEP 1: FROM alpine:latest
STEP 2: MAINTAINER autor_fangfu
--> Using cache 3f9945501e95a8aa4e9eb5922beff64f9ee3ca1a07093f9bf21a49bfd9751106
--> 3f9945501e9
STEP 3: RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories     && apk add nodejs     && apk add npm     && apk add git     && apk add sysstat     && npm i egg-init -g     && apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime     && echo "Asia/Shanghai" > /etc/timezone     && apk del tzdata 
--> Using cache 74cfd9c374874084e0e0ad4821d074942103414a2d56bd961b4b22d48aa2f959
--> 74cfd9c3748

通过镜像也能创建容器:

[root@VM-0-5-centos ~]# podman run -itd --name test002 image_002 sh
691daa088d46b4f1b798f5956e87d94157a2f0e5368677793cfeecf06ef100fe

不过在拉取公共镜像的速度方面,podman就不如docker快。一样的服务器,
这边docker已经拉取完毕了:

[root@VM-0-5-centos ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete 
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

podman还有很长的进度条要走:

[root@VM-0-5-centos dockerfile]# podman pull centos
Resolved short name "centos" to a recorded short-name alias (origin: /etc/containers/registries.conf.d/shortnames.conf)
Trying to pull registry.centos.org/centos:latest...
Getting image source signatures
Copying blob c721dabf6e34 [===>----------------------------------] 6.7MiB / 72.6MiB

不过通常情况下,不会去经常下载公共镜像,这里只是做一个对比。
podman毕竟是为kubernetes而生。

今天执行podman命令有一个报错:

[root@VM-0-5-centos dockerfile]# podman images
Error: failed to mount overlay for metacopy check with "nodev,metacopy=on" options: invalid argument

百度了一下,大概意思是说旧版kernel配置不支持podman的某些特性。修改了配置文件/etc/containers/storage.conf,注释掉下面这一行:

/etc/containers/storage.conf
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值