每日一个脚本之一键部署Docker

每日一个shell脚本之一键部署Docker

源码参上

bash 复制代码
 #!/usr/bin/bash                          
 # **************************************
 #   CSDN:         M乔木 
 #   qq邮箱:        2776617348@qq.com 
 #   解释器:        这是一个shell脚本        
 # **************************************


    #声明函数
    function Aq_jc(){
        clear
        #检测防火墙selinux
        echo "------------------------------------------------------------"
        echo "[1]开始检测防火墙SeLinux是否关闭..."
        sleep 1
        f_w=`systemctl status firewalld | awk '/Active:/{print $2}'`
        s_l=`getenforce`
        #判断是否关闭 没关闭就结束运行
        if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ];then
        echo "[2]防火墙SeLinux已关闭..."
        sleep 1
        echo "[3]正在飞速安装docker中..."
        sleep 1
        else
        echo "[2]防火墙SeLinux未关闭..."
        systemctl disable firewalld &>/dev/null
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/sysconfig/selinux
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/'  /etc/selinux/config  
        sleep 1
        echo "[3]正在关闭..."
        sleep 1
        echo "[4]防火墙SeLinux已关闭 请重启机器生效..."
        echo "------------------------------------------------------------"
        exit 0
        fi
        #防火墙关了的话就继续开启路由转发
        echo "[4]正在开启路由转发虚拟网桥..."
        echo 'net.ipv4.ip_forward =1' >>/etc/sysctl.conf
        echo 'net.bridge.bridge-nf-call-iptables =1' >>/etc/sysctl.conf
        echo 'net.bridge.bridge-nf-call-ip6tables =1' >>/etc/sysctl.conf
        sysctl  -p &>/dev/null
        sleep 1
        #防火墙关闭的话就清理docker环境
        echo "[5]正在清理环境中..."
        yum -y remove docker  docker-client  docker-client-latest  docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine &>/dev/null
        sleep 1
        echo "[6]开始安装docker依赖..."
        yum install -y yum-utils device-mapper-persistent-data lvm2 &>/dev/null
        sleep 1
        echo "[7]开始配置阿里docker源..."
        yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo &>/dev/null
        yum clean all &>/dev/null && yum makecache fast &>/dev/null
        sleep 1
        echo "[8]开始安装docker..."
        yum -y install docker-ce doker-ce-cli containerd.io &>/dev/null
        sleep 1
        echo "[9]开始配置开机自启..."
        systemctl start docker &>/dev/null
        systemctl enable docker &>/dev/null
        systemctl restart docker &>/dev/null
        sleep 1
        echo "[10]开始配置阿里云镜像加速器..."
        clear
        echo "[11]开始建立docker加速器放置目录..."
        mkdir -p /etc/docker
        sleep 1
        echo "[12]开始写入配置..."
tee /etc/docker/daemon.json &>/dev/null<<-'EOF'
{
  "registry-mirrors": ["https://2zwkpj0m.mirror.aliyuncs.com"]
}
EOF
        sleep 1
        echo "[13]重新加载system工具..."
        systemctl daemon-reload &>/dev/null
        sleep 1
        echo "[14]重新启动docker..."
        systemctl restart docker &>/dev/null
        sleep 1
        echo "[15]阿里云镜像加速器配置完毕!"
        sleep 1
        echo "[16]开始拉取基础镜像centos:7..."
        docker pull centos:7 &>/dev/null
        sleep 1
        echo "[17]已部署docker及第一个基础镜像centos7已配置完毕!"
        sleep 1
        echo '[18]开始使用你的一个docker命令体验激动人心的docker吧!'
        sleep 1
        echo '[19]docker images:查看已下载镜像'
        sleep 1
        echo '[20]docker info:查看docker基本信息'
        sleep 1
        echo '[21]docker run -it centos:7 /bin/bash:以centos7为基础启动一个容器'
        echo "------------------------------------------------------------"
    }
    #主界面
    Aq_jc

使用方法

bash 复制代码
[root@qm ]# vim  docker-az.sh
#复制粘贴上面的代码进去

[root@qm ]# sh docker-az.sh
#运行脚本

结尾

还是那话点赞关注转发感谢!

相关推荐
营养充电站9 分钟前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
小义_2 小时前
K8s 全网高频常用命令大全
docker·容器·kubernetes
林间码客2 小时前
从DevOps到DevSecOps:构建现代软件交付的基石与护城河
大数据·运维·devsecops·devops
李白你好3 小时前
Windows 离线 Linux 提权辅助查询工具
linux
Lust Dusk4 小时前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全
ShineWinsu4 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl
千千寰宇4 小时前
[Linux/Ollama] Termux : 一款运行在 Android 平台上的开源终端模拟器与 Linux 环境应用、支持在手机上基于Ollama部署LLM
linux
IT古董4 小时前
【MES学习笔记系列】05 - MES 数据库设计
笔记·学习·mes
轻揉小乔 真新人5 小时前
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
运维·nginx·缓存
Yan_chen6665 小时前
SSH(Secure Shell)安全外壳协议详解
运维·网络协议·ssh