本指南旨在提供一个简洁有效的方法来安装containerd
。我们将通过一份易于理解的脚本步骤,指导您完成安装🔧。请根据您的实际需求,适当调整containerd
版本及其相关依赖。
**注意事项:** 本安装脚本已在containerd 1.7.2
版本上测试验证🛠️。请注意,尽管本脚本主要面向该版本,不同版本的安装步骤可能存在差异。建议您在实施前,对脚本进行必要的调整以适应特定版本。
**加速技巧:** 考虑到在国内直接访问GitHub可能面临速度缓慢的问题,我们采用了GitHub代理来加速下载过程🚀。需要提醒的是,代理服务的可用性可能会变化,因此建议定期检查并更新代理设置,以保持下载速度。
为了提升国内用户下载Docker镜像的速度,本指南特别引入了网易镜像代理的配置🏎️。通过这一配置,用户可以显著加快从Docker Hub下载镜像的速度,有效缓解等待时间。
CONTAINERD\_VERSION=1.7.2
wget https://hub.gitmirror.com/https://github.com/containerd/containerd/releases/download/v${CONTAINERD\_VERSION}/cri-containerd-cni-${CONTAINERD\_VERSION}-linux-amd64.tar.gz
tar -xvzf cri-containerd-cni-\*-linux-amd64.tar.gz -C /
rm -f cri-containerd-cni-\*-linux-amd64.tar.gz
NERDCTL\_VERSION=1.4.0
wget https://hub.gitmirror.com/https://github.com/containerd/nerdctl/releases/download/v${NERDCTL\_VERSION}/nerdctl-${NERDCTL\_VERSION}-linux-amd64.tar.gz
mkdir nerdctl
tar -xf nerdctl-${NERDCTL\_VERSION}-linux-amd64.tar.gz -C nerdctl/
mv nerdctl/nerdctl /usr/local/bin/
rm -rf nerdctl
# 覆盖containerd的runc工具
RUNC\_VERSION=1.1.7
wget https://hub.gitmirror.com/https://github.com/opencontainers/runc/releases/download/v${RUNC\_VERSION}/runc.amd64
mv runc.amd64 runc && chmod +x runc && mv -f runc /usr/local/sbin/
# 创建默认配置文件
mkdir -p /etc/containerd
# 创建containerd默认配置文件
containerd config default | tee /etc/containerd/config.toml
# 修改Containerd的配置文件
sed -i "s#SystemdCgroup\ \=\ false#SystemdCgroup\ \=\ true#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep SystemdCgroup
sed -i "s#registry.k8s.io#m.daocloud.io/registry.k8s.io#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep sandbox\_image
sed -i "s#config\_path\ \=\ \"\"#config\_path\ \=\ \"/etc/containerd/certs.d\"#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep certs.d
mkdir /etc/containerd/certs.d/docker.io -pv
# 配置加速器
cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF
server = "https://docker.io"
[host."https://hub-mirror.c.163.com"]
capabilities = ["pull", "resolve"]
EOF
#生成配置文件
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
systemctl daemon-reload
systemctl enable --now containerd.service
systemctl restart containerd.service
# 验证containerd是否安装成功
crictl info
# 验证是否可以下载镜像
ctr images pull docker.io/library/redis:alpine
root@containerd:~# CONTAINERD\_VERSION=1.7.2
wget https://hub.gitmirror.com/https://github.com/containerd/containerd/releases/download/v${CONTAINERD\_VERSION}/cri-containerd-cni-${CONTAINERD\_VERSION}-linux-amd64.tar.gz
tar -xvzf cri-containerd-cni-\*-linux-amd64.tar.gz -C /
rm -f cri-containerd-cni-\*-linux-amd64.tar.gz
--2024-03-29 20:32:36-- https://hub.gitmirror.com/https://github.com/containerd/containerd/releases/download/v1.7.2/cri-containerd-cni-1.7.2-linux-amd64.tar.gz
Resolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.198.77
Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.198.77|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 146515835 (140M) [application/octet-stream]
Saving to: ‘cri-containerd-cni-1.7.2-linux-amd64.tar.gz’
cri-containerd-cni-1.7.2-linux-amd64.t 100%[============================================================================>] 139.73M 11.5MB/s in 10s
2024-03-29 20:32:49 (13.4 MB/s) - ‘cri-containerd-cni-1.7.2-linux-amd64.tar.gz’ saved [146515835/146515835]
cri-containerd.DEPRECATED.txt
etc/
etc/systemd/
etc/systemd/system/
etc/systemd/system/containerd.service
etc/crictl.yaml
etc/cni/
etc/cni/net.d/
etc/cni/net.d/10-containerd-net.conflist
usr/
usr/local/
usr/local/sbin/
usr/local/sbin/runc
usr/local/bin/
usr/local/bin/containerd-shim-runc-v1
usr/local/bin/containerd-shim-runc-v2
usr/local/bin/containerd-stress
usr/local/bin/containerd
usr/local/bin/ctd-decoder
usr/local/bin/containerd-shim
usr/local/bin/critest
usr/local/bin/ctr
usr/local/bin/crictl
opt/
opt/containerd/
opt/containerd/cluster/
opt/containerd/cluster/gce/
opt/containerd/cluster/gce/env
opt/containerd/cluster/gce/cni.template
opt/containerd/cluster/gce/configure.sh
opt/containerd/cluster/gce/cloud-init/
opt/containerd/cluster/gce/cloud-init/master.yaml
opt/containerd/cluster/gce/cloud-init/node.yaml
opt/containerd/cluster/version
opt/cni/
opt/cni/bin/
opt/cni/bin/ipvlan
opt/cni/bin/loopback
opt/cni/bin/dummy
opt/cni/bin/portmap
opt/cni/bin/vrf
opt/cni/bin/bridge
opt/cni/bin/dhcp
opt/cni/bin/bandwidth
opt/cni/bin/host-device
opt/cni/bin/firewall
opt/cni/bin/sbr
opt/cni/bin/static
opt/cni/bin/vlan
opt/cni/bin/ptp
opt/cni/bin/macvlan
opt/cni/bin/tuning
opt/cni/bin/host-local
root@containerd:~#
root@containerd:~# NERDCTL\_VERSION=1.4.0
wget https://hub.gitmirror.com/https://github.com/containerd/nerdctl/releases/download/v${NERDCTL\_VERSION}/nerdctl-${NERDCTL\_VERSION}-linux-amd64.tar.gz
mkdir nerdctl
tar -xf nerdctl-${NERDCTL\_VERSION}-linux-amd64.tar.gz -C nerdctl/
mv nerdctl/nerdctl /usr/local/bin/
rm -rf nerdctl
--2024-03-29 20:33:23-- https://hub.gitmirror.com/https://github.com/containerd/nerdctl/releases/download/v1.4.0/nerdctl-1.4.0-linux-amd64.tar.gz
Resolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.160.163
Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.160.163|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9187164 (8.8M) [application/octet-stream]
Saving to: ‘nerdctl-1.4.0-linux-amd64.tar.gz’
nerdctl-1.4.0-linux-amd64.tar.gz 100%[============================================================================>] 8.76M 5.06MB/s in 1.7s
2024-03-29 20:33:27 (5.06 MB/s) - ‘nerdctl-1.4.0-linux-amd64.tar.gz’ saved [9187164/9187164]
root@containerd:~#
root@containerd:~# # 覆盖containerd的runc工具
RUNC\_VERSION=1.1.7
wget https://hub.gitmirror.com/https://github.com/opencontainers/runc/releases/download/v${RUNC\_VERSION}/runc.amd64
mv runc.amd64 runc && chmod +x runc && mv -f runc /usr/local/sbin/
--2024-03-29 20:33:49-- https://hub.gitmirror.com/https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64
Resolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.141.252
Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.141.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9644288 (9.2M) [application/octet-stream]
Saving to: ‘runc.amd64’
runc.amd64 100%[============================================================================>] 9.20M 4.25MB/s in 2.2s
2024-03-29 20:33:53 (4.25 MB/s) - ‘runc.amd64’ saved [9644288/9644288]
root@containerd:~#
root@containerd:~# # 创建默认配置文件
mkdir -p /etc/containerd
# 创建containerd默认配置文件
containerd config default | tee /etc/containerd/config.toml
# 修改Containerd的配置文件
sed -i "s#SystemdCgroup\ \=\ false#SystemdCgroup\ \=\ true#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep SystemdCgroup
sed -i "s#registry.k8s.io#m.daocloud.io/registry.k8s.io#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep sandbox\_image
sed -i "s#config\_path\ \=\ \"\"#config\_path\ \=\ \"/etc/containerd/certs.d\"#g" /etc/containerd/config.toml
cat /etc/containerd/config.toml | grep certs.d
mkdir /etc/containerd/certs.d/docker.io -pv
# 配置加速器
cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF
server = "https://docker.io"
[host."https://hub-mirror.c.163.com"]
capabilities = ["pull", "resolve"]
EOF
#生成配置文件
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
systemctl daemon-reload
systemctl enable --now containerd.service
systemctl restart containerd.service
ctr images pull docker.io/library/redis:alpine
disabled\_plugins = []
imports = []
oom\_score = 0
plugin\_dir = ""
required\_plugins = []
root = "/var/lib/containerd"
state = "/run/containerd"
temp = ""
version = 2
[cgroup]
path = ""
[debug]
address = ""
format = ""
gid = 0
level = ""
uid = 0
[grpc]
address = "/run/containerd/containerd.sock"
gid = 0
max\_recv\_message\_size = 16777216
max\_send\_message\_size = 16777216
tcp\_address = ""
tcp\_tls\_ca = ""
tcp\_tls\_cert = ""
tcp\_tls\_key = ""
uid = 0
[metrics]
address = ""
grpc\_histogram = false
[plugins]
[plugins."io.containerd.gc.v1.scheduler"]
deletion\_threshold = 0
mutation\_threshold = 100
pause\_threshold = 0.02
schedule\_delay = "0s"
startup\_delay = "100ms"
[plugins."io.containerd.grpc.v1.cri"]
cdi\_spec\_dirs = ["/etc/cdi", "/var/run/cdi"]
device\_ownership\_from\_security\_context = false
disable\_apparmor = false
disable\_cgroup = false
disable\_hugetlb\_controller = true
disable\_proc\_mount = false
disable\_tcp\_service = true
drain\_exec\_sync\_io\_timeout = "0s"
enable\_cdi = false
enable\_selinux = false
enable\_tls\_streaming = false
enable\_unprivileged\_icmp = false
enable\_unprivileged\_ports = false
ignore\_image\_defined\_volumes = false
image\_pull\_progress\_timeout = "1m0s"
max\_concurrent\_downloads = 3
max\_container\_log\_line\_size = 16384
netns\_mounts\_under\_state\_dir = false
restrict\_oom\_score\_adj = false
sandbox\_image = "registry.k8s.io/pause:3.8"
selinux\_category\_range = 1024
stats\_collect\_period = 10
stream\_idle\_timeout = "4h0m0s"
stream\_server\_address = "127.0.0.1"
stream\_server\_port = "0"
systemd\_cgroup = false
tolerate\_missing\_hugetlb\_controller = true
unset\_seccomp\_profile = ""
[plugins."io.containerd.grpc.v1.cri".cni]
bin\_dir = "/opt/cni/bin"
conf\_dir = "/etc/cni/net.d"
conf\_template = ""
ip\_pref = ""
max\_conf\_num = 1
setup\_serially = false
[plugins."io.containerd.grpc.v1.cri".containerd]
default\_runtime\_name = "runc"
disable\_snapshot\_annotations = true
discard\_unpacked\_layers = false
ignore\_blockio\_not\_enabled\_errors = false
ignore\_rdt\_not\_enabled\_errors = false
no\_pivot = false
snapshotter = "overlayfs"
[plugins."io.containerd.grpc.v1.cri".containerd.default\_runtime]
base\_runtime\_spec = ""
cni\_conf\_dir = ""
cni\_max\_conf\_num = 0
container\_annotations = []
pod\_annotations = []
privileged\_without\_host\_devices = false
privileged\_without\_host\_devices\_all\_devices\_allowed = false
runtime\_engine = ""
runtime\_path = ""
runtime\_root = ""
runtime\_type = ""
sandbox\_mode = ""
snapshotter = ""
[plugins."io.containerd.grpc.v1.cri".containerd.default\_runtime.options]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
base\_runtime\_spec = ""
cni\_conf\_dir = ""
cni\_max\_conf\_num = 0
container\_annotations = []
pod\_annotations = []
privileged\_without\_host\_devices = false
privileged\_without\_host\_devices\_all\_devices\_allowed = false
runtime\_engine = ""
runtime\_path = ""
runtime\_root = ""
runtime\_type = "io.containerd.runc.v2"
sandbox\_mode = "podsandbox"
snapshotter = ""
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
BinaryName = ""
CriuImagePath = ""
CriuPath = ""
CriuWorkPath = ""
IoGid = 0
IoUid = 0
NoNewKeyring = false
NoPivotRoot = false
Root = ""
ShimCgroup = ""
SystemdCgroup = false
[plugins."io.containerd.grpc.v1.cri".containerd.untrusted\_workload\_runtime]
base\_runtime\_spec = ""
cni\_conf\_dir = ""
cni\_max\_conf\_num = 0
container\_annotations = []
pod\_annotations = []
privileged\_without\_host\_devices = false
privileged\_without\_host\_devices\_all\_devices\_allowed = false
runtime\_engine = ""
runtime\_path = ""
runtime\_root = ""
runtime\_type = ""
sandbox\_mode = ""
snapshotter = ""
[plugins."io.containerd.grpc.v1.cri".containerd.untrusted\_workload\_runtime.options]
[plugins."io.containerd.grpc.v1.cri".image\_decryption]
key\_model = "node"
[plugins."io.containerd.grpc.v1.cri".registry]
config\_path = ""
[plugins."io.containerd.grpc.v1.cri".registry.auths]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.headers]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".x509\_key\_pair\_streaming]
tls\_cert\_file = ""
tls\_key\_file = ""
[plugins."io.containerd.internal.v1.opt"]
path = "/opt/containerd"
[plugins."io.containerd.internal.v1.restart"]
interval = "10s"
[plugins."io.containerd.internal.v1.tracing"]
sampling\_ratio = 1.0
service\_name = "containerd"
[plugins."io.containerd.metadata.v1.bolt"]
content\_sharing\_policy = "shared"
[plugins."io.containerd.monitor.v1.cgroups"]
no\_prometheus = false
[plugins."io.containerd.nri.v1.nri"]
disable = true
disable\_connections = false
plugin\_config\_path = "/etc/nri/conf.d"
plugin\_path = "/opt/nri/plugins"
plugin\_registration\_timeout = "5s"
plugin\_request\_timeout = "2s"
socket\_path = "/var/run/nri/nri.sock"
[plugins."io.containerd.runtime.v1.linux"]
no\_shim = false
runtime = "runc"
runtime\_root = ""
shim = "containerd-shim"
shim\_debug = false
[plugins."io.containerd.runtime.v2.task"]
platforms = ["linux/amd64"]
sched\_core = false
[plugins."io.containerd.service.v1.diff-service"]
default = ["walking"]
[plugins."io.containerd.service.v1.tasks-service"]
blockio\_config\_file = ""
rdt\_config\_file = ""
[plugins."io.containerd.snapshotter.v1.aufs"]
root\_path = ""
[plugins."io.containerd.snapshotter.v1.btrfs"]
root\_path = ""
[plugins."io.containerd.snapshotter.v1.devmapper"]
async\_remove = false
base\_image\_size = ""
discard\_blocks = false
fs\_options = ""
fs\_type = ""
pool\_name = ""
root\_path = ""
[plugins."io.containerd.snapshotter.v1.native"]
root\_path = ""
[plugins."io.containerd.snapshotter.v1.overlayfs"]
root\_path = ""
upperdir\_label = false
[plugins."io.containerd.snapshotter.v1.zfs"]
root\_path = ""
[plugins."io.containerd.tracing.processor.v1.otlp"]
endpoint = ""
insecure = false
protocol = ""
[plugins."io.containerd.transfer.v1.local"]
config\_path = ""
max\_concurrent\_downloads = 3
max\_concurrent\_uploaded\_layers = 3
[[plugins."io.containerd.transfer.v1.local".unpack\_config]]
differ = ""
platform = "linux/amd64"
snapshotter = "overlayfs"
[proxy\_plugins]
[stream\_processors]
[stream\_processors."io.containerd.ocicrypt.decoder.v1.tar"]
accepts = ["application/vnd.oci.image.layer.v1.tar+encrypted"]
args = ["--decryption-keys-path", "/etc/containerd/ocicrypt/keys"]
env = ["OCICRYPT\_KEYPROVIDER\_CONFIG=/etc/containerd/ocicrypt/ocicrypt\_keyprovider.conf"]
path = "ctd-decoder"
returns = "application/vnd.oci.image.layer.v1.tar"
[stream\_processors."io.containerd.ocicrypt.decoder.v1.tar.gzip"]
accepts = ["application/vnd.oci.image.layer.v1.tar+gzip+encrypted"]
args = ["--decryption-keys-path", "/etc/containerd/ocicrypt/keys"]
env = ["OCICRYPT\_KEYPROVIDER\_CONFIG=/etc/containerd/ocicrypt/ocicrypt\_keyprovider.conf"]
path = "ctd-decoder"
returns = "application/vnd.oci.image.layer.v1.tar+gzip"
[timeouts]
"io.containerd.timeout.bolt.open" = "0s"
"io.containerd.timeout.metrics.shimstats" = "2s"
"io.containerd.timeout.shim.cleanup" = "5s"
"io.containerd.timeout.shim.load" = "5s"
"io.containerd.timeout.shim.shutdown" = "3s"
"io.containerd.timeout.task.state" = "2s"
[ttrpc]
address = ""
gid = 0
uid = 0
SystemdCgroup = true
sandbox\_image = "m.daocloud.io/registry.k8s.io/pause:3.8"
config\_path = "/etc/containerd/certs.d"
config\_path = "/etc/containerd/certs.d"
mkdir: created directory '/etc/containerd/certs.d'
mkdir: created directory '/etc/containerd/certs.d/docker.io'
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /etc/systemd/system/containerd.service.
{
"status": {
"conditions": [
{
"type": "RuntimeReady",
"status": true,
"reason": "",
"message": ""
},
{
"type": "NetworkReady",
"status": true,
"reason": "",
"message": ""
}
]
},
"cniconfig": {
"PluginDirs": [
"/opt/cni/bin"
],
"PluginConfDir": "/etc/cni/net.d",
"PluginMaxConfNum": 1,
"Prefix": "eth",
"Networks": [
{
"Config": {
"Name": "cni-loopback",
"CNIVersion": "0.3.1",
"Plugins": [
{
"Network": {
"type": "loopback",
"ipam": {},
"dns": {}
},
"Source": "{\"type\":\"loopback\"}"
}
],
"Source": "{\n\"cniVersion\": \"0.3.1\",\n\"name\": \"cni-loopback\",\n\"plugins\": [{\n \"type\": \"loopback\"\n}]\n}"
},
"IFName": "lo"
},
{
"Config": {
"Name": "containerd-net",
"CNIVersion": "1.0.0",
"Plugins": [
{
"Network": {
"type": "bridge",
"ipam": {
"type": "host-local"
},
"dns": {}
},
"Source": "{\"bridge\":\"cni0\",\"ipMasq\":true,\"ipam\":{\"ranges\":[[{\"subnet\":\"10.88.0.0/16\"}],[{\"subnet\":\"2001:4860:4860::/64\"}]],\"routes\":[{\"dst\":\"0.0.0.0/0\"},{\"dst\":\"::/0\"}],\"type\":\"host-local\"},\"isGateway\":true,\"promiscMode\":true,\"type\":\"bridge\"}"
},
{
"Network": {
"type": "portmap",
"capabilities": {
"portMappings": true
},
"ipam": {},
"dns": {}
},
"Source": "{\"capabilities\":{\"portMappings\":true},\"type\":\"portmap\"}"
}
],
"Source": "{\n \"cniVersion\": \"1.0.0\",\n \"name\": \"containerd-net\",\n \"plugins\": [\n {\n \"type\": \"bridge\",\n \"bridge\": \"cni0\",\n \"isGateway\": true,\n \"ipMasq\": true,\n \"promiscMode\": true,\n \"ipam\": {\n \"type\": \"host-local\",\n \"ranges\": [\n [{\n \"subnet\": \"10.88.0.0/16\"\n }],\n [{\n \"subnet\": \"2001:4860:4860::/64\"\n }]\n ],\n \"routes\": [\n { \"dst\": \"0.0.0.0/0\" },\n { \"dst\": \"::/0\" }\n ]\n }\n },\n {\n \"type\": \"portmap\",\n \"capabilities\": {\"portMappings\": true}\n }\n ]\n}\n"
},
"IFName": "eth0"
}
]
},
"config": {
"containerd": {
"snapshotter": "overlayfs",
"defaultRuntimeName": "runc",
"defaultRuntime": {
"runtimeType": "",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {},
"privileged\_without\_host\_devices": false,
"privileged\_without\_host\_devices\_all\_devices\_allowed": false,
"baseRuntimeSpec": "",
"cniConfDir": "",
"cniMaxConfNum": 0,
"snapshotter": "",
"sandboxMode": ""
},
"untrustedWorkloadRuntime": {
"runtimeType": "",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {},
"privileged\_without\_host\_devices": false,
"privileged\_without\_host\_devices\_all\_devices\_allowed": false,
"baseRuntimeSpec": "",
"cniConfDir": "",
"cniMaxConfNum": 0,
"snapshotter": "",
"sandboxMode": ""
},
"runtimes": {
"runc": {
"runtimeType": "io.containerd.runc.v2",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {
"BinaryName": "",
"CriuImagePath": "",
"CriuPath": "",
"CriuWorkPath": "",
"IoGid": 0,
"IoUid": 0,
"NoNewKeyring": false,
"NoPivotRoot": false,
"Root": "",
"ShimCgroup": "",
"SystemdCgroup": true
},
"privileged\_without\_host\_devices": false,
"privileged\_without\_host\_devices\_all\_devices\_allowed": false,
"baseRuntimeSpec": "",
"cniConfDir": "",
"cniMaxConfNum": 0,
"snapshotter": "",
"sandboxMode": "podsandbox"
}
},
"noPivot": false,
"disableSnapshotAnnotations": true,
"discardUnpackedLayers": false,
"ignoreBlockIONotEnabledErrors": false,
"ignoreRdtNotEnabledErrors": false
},
"cni": {
"binDir": "/opt/cni/bin",
"confDir": "/etc/cni/net.d",
"maxConfNum": 1,
"setupSerially": false,
"confTemplate": "",
"ipPref": ""
},
"registry": {
"configPath": "/etc/containerd/certs.d",
"mirrors": {},
"configs": {},
"auths": {},
"headers": {}
},
"imageDecryption": {
"keyModel": "node"
},
"disableTCPService": true,
"streamServerAddress": "127.0.0.1",
"streamServerPort": "0",
"streamIdleTimeout": "4h0m0s",
"enableSelinux": false,
"selinuxCategoryRange": 1024,
"sandboxImage": "m.daocloud.io/registry.k8s.io/pause:3.8",
"statsCollectPeriod": 10,
"systemdCgroup": false,
"enableTLSStreaming": false,
"x509KeyPairStreaming": {
"tlsCertFile": "",
"tlsKeyFile": ""
},
"maxContainerLogSize": 16384,
"disableCgroup": false,
"disableApparmor": false,
"restrictOOMScoreAdj": false,
"maxConcurrentDownloads": 3,
"disableProcMount": false,
"unsetSeccompProfile": "",
"tolerateMissingHugetlbController": true,
"disableHugetlbController": true,
"device\_ownership\_from\_security\_context": false,
docker.io/library/redis:alpine: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:7635b0bfdd7dd8552b4b31d6541fef07b734614045b45a52fd5cc27c9dada9e2: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:3487aa5cf06dceb38202b06bba45b6e6d8a92288848698a6518eee5f63a293a3: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:435993df2c8d3a1508114cea2dd12ef4d6cbab5c7238bb8e587f20b18982c834: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:cc6fccbbefa3f40f40b56bb79e12ea0d1712b5b2421e04b1e0086c222e43da52: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:034c076ba1e793bb3f31ae4f06a1737a362a34ce9e843c6c15022cfbec955bb9: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:dffcad17539bc6497d8dd4bd24f6628013eb413b988050010925cb2ce4382291: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:5913474e0f39b23ca3d952a08c0008364c774a07984efaf8ad3a5ba8e04d31f6: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4abcf20661432fb2d719aaf90656f55c287f8ca915dc1c92ec14ff61e67fbaf8: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:5c3180d102093de53ebc54b965de6754cbbb344a30e2bf2f5d17cbc3ac1d50b5: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:f76326fd8e6b93c5ddd86c0795b0a04c186faf08ce032c102aa9b3671276019a: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 13.8s total: 14.7 M (1.1 MiB/s)
unpacking linux/amd64 sha256:7635b0bfdd7dd8552b4b31d6541fef07b734614045b45a52fd5cc27c9dada9e2...
done: 272.507979ms
root@containerd:~#
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。