containerd安装
大约 2 分钟
一、环境
[root🐳 ~]# uname -a
# Linux ming-computer 5.15.0-71-generic #78~20.04.1-Ubuntu SMP Wed Apr 19
# 11:26:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
二、官网地址
三、下载并安装runc\CNI\containerd
# runc安装
$ install -m 755 runc.amd64 /usr/local/sbin/runc
# CNI安装
$ mkdir -p /opt/cni/bin
$ tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.2.0.tgz
# containerd安装至/usr/local
# Note: no work in Alpine Linux.
$ tar Cxzvf /usr/local containerd-1.1.7-linux-amd64.tar.gz
# 验证containerd安装
$ whereis containerd
$ containerd --version
四、配置containerd
- 生成默认配置
# 创建文件夹
$ mkdir -p /etc/containerd
$ containerd config default > /etc/containerd/config.toml
# 查看配置
$ containerd config dump
- cni配置生成
# 查看cni配置目录
$ cat /etc/containerd/config.toml | grep cni
# plugins["io.containerd.grpc.v1.cri"].cni.conf_dir
# 配置目录 /etc/cni/net.d
$ mkdir -p /etc/cni/net.d
# 生成配置文件
$ cat <<EOF > /etc/cni/net.d/10-mynet.conf
{
"cniVersion": "0.2.0",
"name": "mynet",
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "172.19.0.0/24",
"routes": [
{ "dst": "0.0.0.0/0" }
]
}
}
EOF
- systemd
$ mkdir -p /usr/local/lib/systemd/system/
$ touch /usr/local/lib/systemd/system/containerd.service
然后拷贝内容 containerd.service 到 /usr/local/lib/systemd/system/containerd.service, 然后运行:
$ systemctl daemon-reload
$ systemctl enable --now containerd
$ systemctl status containerd
五、测试containerd运行容器
$ sudo ctr image pull docker.io/library/busybox:latest
$ sudo ctr run --cni -t --rm docker.io/library/busybox:latest hello sh
Q&A
1.如何查看containerd的插件有哪些
$ ctr plugin ls
2.如何离线安装golang
要在Linux系统上离线安装Golang,您可以按照以下步骤操作:
- 在具有Internet连接的计算机上下载Golang二进制文件包(tar.gz或zip格式)
- 将下载的文件包复制到您的离线Linux计算机。您可以使用USB驱动器或其他外部存储设备完成此操作
- 在Linux计算机上解压缩文件包并将其移动到适当的位置,例如
/usr/local/bin
目录
$ tar -C /usr/local -xzf go1.19.10.linux-arm64.tar.gz
- 在
/etc/profile
文件中添加Golang环境变量。将以下行添加到文件底部,将<install-dir>
替换为您的Golang安装目录:
$ echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile
- 保存并关闭文件后,使用以下命令使配置更改生效:
$ source /etc/profile
- 验证Golang是否正确安装并可以使用:
$ go version