写点什么

containerd 快速安装指南🚀

作者:GousterCloud
  • 2024-03-29
    四川
  • 本文字数:12434 字

    阅读完需:约 41 分钟

containerd快速安装指南🚀

1 containerd 快速安装指南🚀

本指南旨在提供一个简洁有效的方法来安装containerd。我们将通过一份易于理解的脚本步骤,指导您完成安装🔧。请根据您的实际需求,适当调整containerd版本及其相关依赖。


注意事项: 本安装脚本已在containerd 1.7.2版本上测试验证🛠️。请注意,尽管本脚本主要面向该版本,不同版本的安装步骤可能存在差异。建议您在实施前,对脚本进行必要的调整以适应特定版本。


加速技巧: 考虑到在国内直接访问 GitHub 可能面临速度缓慢的问题,我们采用了 GitHub 代理来加速下载过程🚀。需要提醒的是,代理服务的可用性可能会变化,因此建议定期检查并更新代理设置,以保持下载速度。


为了提升国内用户下载 Docker 镜像的速度,本指南特别引入了网易镜像代理的配置🏎️。通过这一配置,用户可以显著加快从 Docker Hub 下载镜像的速度,有效缓解等待时间。


CONTAINERD_VERSION=1.7.2wget https://hub.gitmirror.com/https://github.com/containerd/containerd/releases/download/v${CONTAINERD_VERSION}/cri-containerd-cni-${CONTAINERD_VERSION}-linux-amd64.tar.gztar -xvzf cri-containerd-cni-*-linux-amd64.tar.gz -C /rm -f cri-containerd-cni-*-linux-amd64.tar.gz
NERDCTL_VERSION=1.4.0wget https://hub.gitmirror.com/https://github.com/containerd/nerdctl/releases/download/v${NERDCTL_VERSION}/nerdctl-${NERDCTL_VERSION}-linux-amd64.tar.gzmkdir nerdctltar -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.7wget https://hub.gitmirror.com/https://github.com/opencontainers/runc/releases/download/v${RUNC_VERSION}/runc.amd64mv 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.tomlcat /etc/containerd/config.toml | grep SystemdCgroup
sed -i "s#registry.k8s.io#m.daocloud.io/registry.k8s.io#g" /etc/containerd/config.tomlcat /etc/containerd/config.toml | grep sandbox_image
sed -i "s#config_path\ \=\ \"\"#config_path\ \=\ \"/etc/containerd/certs.d\"#g" /etc/containerd/config.tomlcat /etc/containerd/config.toml | grep certs.d
mkdir /etc/containerd/certs.d/docker.io -pv
# 配置加速器cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOFserver = "https://docker.io"[host."https://hub-mirror.c.163.com"] capabilities = ["pull", "resolve"]EOF
#生成配置文件cat > /etc/crictl.yaml <<EOFruntime-endpoint: unix:///run/containerd/containerd.sockimage-endpoint: unix:///run/containerd/containerd.socktimeout: 10debug: falseEOF

systemctl daemon-reloadsystemctl enable --now containerd.servicesystemctl restart containerd.service
# 验证containerd是否安装成功crictl info
# 验证是否可以下载镜像ctr images pull docker.io/library/redis:alpine
复制代码

2 安装日志

root@containerd:~# CONTAINERD_VERSION=1.7.2wget https://hub.gitmirror.com/https://github.com/containerd/containerd/releases/download/v${CONTAINERD_VERSION}/cri-containerd-cni-${CONTAINERD_VERSION}-linux-amd64.tar.gztar -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.gzResolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.198.77Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.198.77|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 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.txtetc/etc/systemd/etc/systemd/system/etc/systemd/system/containerd.serviceetc/crictl.yamletc/cni/etc/cni/net.d/etc/cni/net.d/10-containerd-net.conflistusr/usr/local/usr/local/sbin/usr/local/sbin/runcusr/local/bin/usr/local/bin/containerd-shim-runc-v1usr/local/bin/containerd-shim-runc-v2usr/local/bin/containerd-stressusr/local/bin/containerdusr/local/bin/ctd-decoderusr/local/bin/containerd-shimusr/local/bin/critestusr/local/bin/ctrusr/local/bin/crictlopt/opt/containerd/opt/containerd/cluster/opt/containerd/cluster/gce/opt/containerd/cluster/gce/envopt/containerd/cluster/gce/cni.templateopt/containerd/cluster/gce/configure.shopt/containerd/cluster/gce/cloud-init/opt/containerd/cluster/gce/cloud-init/master.yamlopt/containerd/cluster/gce/cloud-init/node.yamlopt/containerd/cluster/versionopt/cni/opt/cni/bin/opt/cni/bin/ipvlanopt/cni/bin/loopbackopt/cni/bin/dummyopt/cni/bin/portmapopt/cni/bin/vrfopt/cni/bin/bridgeopt/cni/bin/dhcpopt/cni/bin/bandwidthopt/cni/bin/host-deviceopt/cni/bin/firewallopt/cni/bin/sbropt/cni/bin/staticopt/cni/bin/vlanopt/cni/bin/ptpopt/cni/bin/macvlanopt/cni/bin/tuningopt/cni/bin/host-localroot@containerd:~#root@containerd:~# NERDCTL_VERSION=1.4.0wget https://hub.gitmirror.com/https://github.com/containerd/nerdctl/releases/download/v${NERDCTL_VERSION}/nerdctl-${NERDCTL_VERSION}-linux-amd64.tar.gzmkdir nerdctltar -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.gzResolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.160.163Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.160.163|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 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.7wget https://hub.gitmirror.com/https://github.com/opencontainers/runc/releases/download/v${RUNC_VERSION}/runc.amd64mv 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.amd64Resolving hub.gitmirror.com (hub.gitmirror.com)... 172.64.141.252Connecting to hub.gitmirror.com (hub.gitmirror.com)|172.64.141.252|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 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.tomlcat /etc/containerd/config.toml | grep SystemdCgroup
sed -i "s#registry.k8s.io#m.daocloud.io/registry.k8s.io#g" /etc/containerd/config.tomlcat /etc/containerd/config.toml | grep sandbox_image
sed -i "s#config_path\ \=\ \"\"#config_path\ \=\ \"/etc/containerd/certs.d\"#g" /etc/containerd/config.tomlcat /etc/containerd/config.toml | grep certs.d
mkdir /etc/containerd/certs.d/docker.io -pv
# 配置加速器cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOFserver = "https://docker.io"[host."https://hub-mirror.c.163.com"] capabilities = ["pull", "resolve"]EOF
#生成配置文件cat > /etc/crictl.yaml <<EOFruntime-endpoint: unix:///run/containerd/containerd.sockimage-endpoint: unix:///run/containerd/containerd.socktimeout: 10debug: falseEOF

systemctl daemon-reloadsystemctl enable --now containerd.servicesystemctl restart containerd.service
ctr images pull docker.io/library/redis:alpinedisabled_plugins = []imports = []oom_score = 0plugin_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.507979msroot@containerd:~#
复制代码


发布于: 刚刚阅读数: 4
用户头像

GousterCloud

关注

还未添加个人签名 2020-07-12 加入

还未添加个人简介

评论

发布
暂无评论
containerd快速安装指南🚀_Docker_GousterCloud_InfoQ写作社区