当前位置:网站首页>s16.基于镜像仓库一键安装containerd脚本
s16.基于镜像仓库一键安装containerd脚本
2022-04-23 15:35:00 【Raymond999999】
[root@rocky8 ~]# cat install_containerd.sh
#!/bin/bash
#
#**********************************************************************************************
#Author: Raymond
#QQ: 88563128
#Date: 2022-04-22
#FileName: install_containerd.sh
#URL: raymond.blog.csdn.net
#Description: install_docker for centos 7/8 & ubuntu 18.04/20.04 Rocky 8
#Copyright (C): 2021 All rights reserved
#*********************************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
DOCKER_VERSION=20.10.14
URL='mirrors.cloud.tencent.com'
os(){
OS_ID=`sed -rn '/^NAME=/s@.*="([[:alpha:]]+).*"$@\1@p' /etc/os-release`
}
ubuntu_install_docker(){
dpkg -s docker-ce &>/dev/null && ${COLOR}"Docker已安装,退出"${END} && exit
${COLOR}"开始安装DOCKER依赖包"${END}
apt update &> /dev/null
apt -y install apt-transport-https ca-certificates curl software-properties-common &> /dev/null
curl -fsSL https://${URL}/docker-ce/linux/ubuntu/gpg | sudo apt-key add - &> /dev/null
add-apt-repository "deb [arch=amd64] https://${URL}/docker-ce/linux/ubuntu $(lsb_release -cs) stable" &> /dev/null
apt update &> /dev/null
${COLOR}"Docker有以下版本"${END}
apt-cache madison docker-ce
${COLOR}"10秒后即将安装:Docker-"${DOCKER_VERSION}"版本......"${END}
${COLOR}"如果想安装其它Docker版本,请按Ctrl+c键退出,修改版本再执行"${END}
sleep 10
${COLOR}"开始安装DOCKER"${END}
apt -y install docker-ce=5:${DOCKER_VERSION}~3-0~ubuntu-$(lsb_release -cs) docker-ce-cli=5:${DOCKER_VERSION}~3-0~ubuntu-$(lsb_release -cs) &> /dev/null || {
${COLOR}"apt源失败,请检查apt配置"${END};exit; }
}
centos_install_docker(){
rpm -q docker-ce &> /dev/null && ${COLOR}"Docker已安装,退出"${END} && exit
${COLOR}"开始安装DOCKER依赖包"${END}
yum -y install yum-utils &> /dev/null
yum-config-manager --add-repo https://${URL}/docker-ce/linux/centos/docker-ce.repo &> /dev/null
sed -i 's+download.docker.com+'''${URL}'''/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum clean all &> /dev/null
yum makecache &> /dev/null
${COLOR}"Docker有以下版本"${END}
yum list docker-ce.x86_64 --showduplicates
${COLOR}"10秒后即将安装:Docker-"${DOCKER_VERSION}"版本......"${END}
${COLOR}"如果想安装其它Docker版本,请按Ctrl+c键退出,修改版本再执行"${END}
sleep 10
${COLOR}"开始安装DOCKER"${END}
yum -y install docker-ce-${DOCKER_VERSION} docker-ce-cli-${DOCKER_VERSION} &> /dev/null || {
${COLOR}"yum源失败,请检查yum配置"${END};exit; }
}
config_containerd(){
cat > /etc/modules-load.d/containerd.conf <<-EOF overlay br_netfilter EOF
modprobe -- overlay
modprobe -- br_netfilter
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<-EOF net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF
sysctl --system &> /dev/null
mkdir -p /etc/containerd
containerd config default | tee /etc/containerd/config.toml &> /dev/null
sed -ri 's/(.*SystemdCgroup = ).*/\1true/' /etc/containerd/config.toml
sed -ri 's@(.*sandbox_image = ).*@\1\"registry.aliyuncs.com/google_containers/pause:3.6\"@' /etc/containerd/config.toml
sed -i '/.*registry.mirrors.*/a\ [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]\n endpoint = ["https://registry.docker-cn.com" ,"http://hub-mirror.c.163.com" ,"https://docker.mirrors.ustc.edu.cn"]' /etc/containerd/config.toml
systemctl daemon-reload && systemctl enable --now containerd &> /dev/null
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 is-active containerd &> /dev/null && ${COLOR}"Containerd 服务启动成功"${END} || {
${COLOR}"Containerd 启动失败"${END};exit; }
ctr version && ${COLOR}"Containerd 安装成功"${END} || ${COLOR}"Containerd 安装失败"${END}
}
main(){
os
if [ ${OS_ID} == "CentOS" -o ${OS_ID} == "Rocky" ] &> /dev/null;then
centos_install_docker
else
ubuntu_install_docker
fi
config_containerd
}
main
版权声明
本文为[Raymond999999]所创,转载请带上原文链接,感谢
https://raymond.blog.csdn.net/article/details/124351068
边栏推荐
- Special analysis of China's digital technology in 2022
- 2022年中国数字科技专题分析
- Comparaison du menu de l'illustrateur Adobe en chinois et en anglais
- 深度学习调参的技巧
- Nacos程序连接MySQL8.0+ NullPointerException
- MySQL sync could not find first log file name in binary log index file error
- GFS distributed file system (Theory)
- 控制结构(二)
- Crawling fragment of a button style on a website
- Machine learning - logistic regression
猜你喜欢
Wechat applet customer service access to send and receive messages
T2 icloud calendar cannot be synchronized
How did the computer reinstall the system? The display has no signal
WPS品牌再升级专注国内,另两款国产软件低调出国门,却遭禁令
cadence SPB17. 4 - Active Class and Subclass
Recommended search common evaluation indicators
重定向和请求转发详解
Mysql连接查询详解
让阿里P8都为之着迷的分布式核心原理解析到底讲了啥?看完我惊了
Kubernetes详解(九)——资源配置清单创建Pod实战
随机推荐
Machine learning - logistic regression
导入地址表分析(根据库文件名求出:导入函数数量、函数序号、函数名称)
【Leetcode-每日一题】安装栅栏
Detailed explanation of kubernetes (XI) -- label and label selector
函数(第一部分)
码住收藏▏软件测试报告模板范文来了
什么是CNAS认证?CNAS认可的软件测评中心有哪些?
开源项目推荐:3D点云处理软件ParaView,基于Qt和VTK
Mysql连接查询详解
考试考试自用
Baidu written test 2022.4.12 + programming topic: simple integer problem
Sword finger offer (1) -- for Huawei
调度系统使用注意事项
2022年中国数字科技专题分析
Go并发和通道
cadence SPB17. 4 - Active Class and Subclass
Nacos program connects to mysql8 0+ NullPointerException
After time judgment of date
大厂技术实现 | 行业解决方案系列教程
Deeply learn the skills of parameter adjustment