成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文帶你掌握Containerd

開發 開發工具
nerdctl 是用于 containerd 并且 兼容 docker cli 習慣的管理工具,主要適用于剛從 docker 轉到 containerd 的用戶,操作 containerd 的命令行工具 ctr 和 crictl 不怎么好用,所以就有了 nerdctl。

Containerd 是什么

Containerd是一個開源的容器運行時工具,它為容器提供了核心功能。作為一個獨立的項目,Containerd旨在管理容器的核心功能,如鏡像管理、容器生命周期管理、網絡和存儲管理等。它是由Docker項目中的核心組件分離出來的,用于提供一個更加輕量級、獨立且可嵌入的容器運行時環境。Containerd被設計為一個通用的核心容器運行時,因此許多容器平臺和工具都可以構建在其之上,包括Kubernetes、Docker等。Containerd并不是直接面向終端用戶的工具,而是為了提供穩定、可靠的容器基礎設施,讓開發者和其他項目可以基于它構建更高級別的容器化解決方案。

與 Docker 的關系

Docker和Containerd之間有一種父子關系。Containerd實際上是從Docker項目中拆分出來的,是Docker引擎中的核心組件之一。具體來說,Docker Engine在其架構中使用了一種插件化的方式,而Containerd就是其中一個重要的組件。Docker Engine的架構涵蓋了各種功能模塊,其中包括容器構建、鏡像管理、容器運行時、網絡和存儲管理等。Containerd被用作Docker Engine中負責容器生命周期管理和基本操作的核心組件之一。因此,Docker實際上是建立在Containerd之上的應用層工具。當你使用Docker命令時,它會與Containerd交互以執行諸如創建、運行和管理容器等操作。然而,Containerd本身更加通用和抽象化,可以為其他容器平臺和工具提供底層支持,而不僅限于Docker??傮w而言,Docker是一個集成了各種工具和功能的容器平臺,而Containerd是其中一個核心組件,負責提供基本的容器運行時功能。

安裝Containerd

系統信息

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

二進制安裝

下載地址?https://github.com/containerd/containerd最新版本1.7.10

[root@localhost ~]# wget https://github.com/containerd/containerd/releases/download/v1.7.10/cri-containerd-1.7.10-linux-amd64.tar.gz
[root@localhost ~]# tar xf cri-containerd-1.7.10-linux-amd64.tar.gz  -C /

生成Containerd配置

[root@localhost ~]# mkdir /etc/containerd
[root@localhost ~]# containerd config default > /etc/containerd/config.toml

查看配置
[root@localhost ~]# cat/etc/containerd/config.toml

安裝好containerd 之后,Containerd的配置文件中有如下兩項配置:
root = /var/lib/containerd
state = "/run/containerd"

root配置的目錄是用來保存持久化數據的目錄,包括content, snapshot, metadata和runtime
state 是用來保存運行時的臨時數據的,包括 sockets、pid、掛載點、運行時狀態以及不需要持久化的插件數據。

Containerd開機自啟

[root@localhost ~]# systemctl enable --now containerd
Created symlink from /etc/systemd/system/multi-user.target.wants/containerd.service to /etc/systemd/system/containerd.service.
[root@localhost ~]# systemctl start containerd

驗證其版本
[root@localhost ~]# containerd --version
containerd github.com/containerd/containerd v1.7.10 4e1fe7492b9df85914c389d1f15a3ceedbb280ac

runc驗證

默認 Containerd 安裝好就會自帶一個 runc 命令

執行runc命令,如果有版本號返回則為正常
[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

如果運行runc命令時提示:runc: error while loading shared libraries: ?libseccomp.so.2: cannot open shared object file: No such file or directory,則表明runc沒有找到libseccomp,需要安裝 libseccomp libseccomp安裝

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.5/libseccomp-2.5.4.tar.gz
[root@localhost ~]# tar xf libseccomp-2.5.4.tar.gz
[root@localhost ~]# cd libseccomp-2.5.4/
[root@localhost ~]# ./configure
[root@localhost ~]# make && make install

查找的到 即安裝成功
[root@localhost ~]# find / -name "libseccomp.so"
/root/libseccomp-2.5.4/src/.libs/libseccomp.so 
/usr/local/lib/libseccomp.so

做軟鏈

[root@localhost ]# ln -s /usr/local/lib/libseccomp.so /lib64/libseccomp.so.2

再次查看
[root@localhost ]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

也可以二進制runc安裝?https://github.com/opencontainers/runc最新版本:1.1.10

[root@localhost ~]# wget https://github.com/opencontainers/runc/releases/download/v1.1.10/runc.amd64
[root@localhost ~]# chmod +x runc.amd64

查找containerd安裝時已安裝的runc所在的位置,然后替換
[root@localhost ~]# which runc /usr/local/sbin/runc

替換containerd已安裝的runc
[root@localhost ~]# mv runc.amd64 /usr/local/sbin/runc

執行runc命令,如果有命令幫助則為正常
[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0f
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.5.4

yum安裝

在使用 yum 包管理器安裝 Containerd 之前,需要先設置 Containerd 的 YUM 倉庫。以下是大致的步驟:

準備YUM 倉庫

創建一個名為 /etc/yum.repos.d/containerd.repo 的文件,并將以下內容添加到該文件中:

[containerd]
name=containerd
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
enabled=1

安裝 Containerd

在設置好倉庫文件后,運行以下命令以更新 YUM 緩存并使其識別新的倉庫信息:

[root@localhost ~]# yum makecache
[root@localhost ~]# yum install -y containerd.io

啟動 Containerd

[root@localhost ~]# systemctl enable containerd
[root@localhost ~]# systemctl start containerd

驗證 Containerd

[root@localhost ~]# containerd -v
containerd containerd.io 1.6.25 d8f198a4ed8892c764191ef7b3b06d8a2eeb5c7f

[root@localhost ~]# runc -v
runc version 1.1.10
commit: v1.1.10-0-g18a0cb0
spec: 1.0.2-dev
go: go1.20.10
libseccomp: 2.3.1

Containerd 常見命令操作

更換 Containerd 后,以往常用的 docker 命令也不再使用,取而代之的分別是 crictl 和 ctr 兩個命令客戶端。一般來說某個主機安裝了 k8s 后,命令行才會有 crictl 命令。而 ctr 是跟 k8s 無關的,主機安裝了 containerd 服務后就可以操作 ctr 命令。

  • crictl 是遵循 CRI 接口規范的一個命令行工具,通常用它來檢查和管理kubelet節點上的容器運行時和鏡像。
  • ctr 是 containerd 的一個客戶端工具。

還有一個更高級點的命令 nerdctl ,nerdctl 是用于 containerd 并且 兼容 docker cli 習慣的管理工具,主要適用于剛從 docker 轉到 containerd 的用戶,操作 containerd 的命令行工具 ctr 和 crictl 不怎么好用,所以就有了 nerdctl。


責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2022-12-20 07:39:46

2023-12-15 09:45:21

阻塞接口

2023-09-07 07:17:01

KubernetesCRI標準

2021-02-22 09:05:59

Linux字符設備架構

2021-06-04 09:35:05

Linux字符設備架構

2020-12-18 11:54:22

Linux系統架構

2021-08-13 05:50:01

ContainerdDockerKubernetes

2023-11-20 08:18:49

Netty服務器

2022-10-21 17:24:34

契約測試定位

2023-09-11 06:32:30

VPAHPA容量

2023-07-31 08:18:50

Docker參數容器

2023-11-06 08:16:19

APM系統運維

2021-05-29 10:11:00

Kafa數據業務

2022-11-11 19:09:13

架構

2021-04-28 08:05:30

SpringCloudEureka服務注冊

2021-05-12 18:22:36

Linux 內存管理

2022-02-24 07:34:10

SSL協議加密

2023-11-08 08:15:48

服務監控Zipkin

2023-10-27 08:15:45

2024-10-10 09:12:10

Spring接口初始化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 综合精品久久久 | 天天干天天爱天天操 | 97影院2| 国精产品一区二区三区 | 久久草视频| 久久天堂| 亚洲精品www久久久 www.蜜桃av | 国产精品久久久久久久久久久免费看 | 国产日产精品一区二区三区四区 | 成人免费观看男女羞羞视频 | 不卡视频在线 | 91偷拍精品一区二区三区 | 精品国产欧美一区二区 | 国产一区二区不卡 | 91久久久久久久久久久久久 | 成人免费小视频 | 久久精品国产亚洲一区二区三区 | 国产精品不卡视频 | h在线播放 | 久久激情视频 | 日韩不卡视频在线 | 中文字幕一区二区三区日韩精品 | 久热电影| 欧美a在线 | 成人福利网站 | www.887色视频免费 | 日韩午夜电影在线观看 | 国产成人精品免费视频 | 97精品超碰一区二区三区 | 色婷婷综合久久久中字幕精品久久 | 中文字幕日本一区二区 | 亚洲综合在线一区二区 | 日本不卡一区二区三区在线观看 | 国产精品无码久久久久 | 国产成人一区二区 | 欧美亚洲国产成人 | 亚洲一区二区三区视频免费观看 | 国产九一精品 | 亚洲在线视频 | 欧美在线一区二区三区 | 精品久久久久久久久久 |