侧边栏壁纸
博主头像
laoliyun

生活总是这样,不能叫人处处都满意,但我们还要热情地活下去,人活一生值得爱的东西很多,不要因为一个不满意就灰心。

  • 累计撰写 137 篇文章
  • 累计创建 44 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

一键安装docker-ce和docker-compose,本脚本适用于CentOS7和8

laoliyun
2023-12-19 / 0 评论 / 0 点赞 / 228 阅读 / 897 字
温馨提示:
本文最后更新于 2023-12-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

该脚本支持centos7和centos8系统

#!/bin/bash
#一键安装docker-ce和docker-compose,本脚本适用于CentOS7和8
 
function os7_install_docker () {
 
rpm -qa | grep docker &> /etc/null
 if [ $? -ne 0 ]
 then
    echo "开始安装docker..."
    # step 1: 安装必要的一些系统工具
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    filename='/etc/yum.repos.d/docker-ce.repo'
    if [ ! -f ${filename} ]
    then
        echo "开始配置${filename} 文件"
        yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        yum makecache fast
    else
        echo "${filename} 已存在"
    fi
    # Step 3: 安装Docker-CE   docker-compose
    yum -y install docker-ce  docker-compose
    # Step 4: 开启Docker服务
    systemctl enable docker
    systemctl start docker  
 
    echo -e "docker installed  [\033[32m OK \033[0m]"
    sleep 3
 
 else
    echo "docker 已存在"
 fi
 
 
}
 
#------------------------centos8安装docker------------------------
function os8_install_docker () {
 
rpm -qa | grep docker &> /etc/null
 if [ $? -ne 0 ]
 then
    echo "开始安装docker..."
    # step 1: 安装必要的一些系统工具
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    filename='/etc/yum.repos.d/docker-ce.repo'
    if [ ! -f ${filename} ]
    then
        echo "开始配置${filename} 文件"
        yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
        yum makecache fast
    else
        echo "${filename} 已存在"
    fi
    # Step 3: 安装Docker-CE
    yum --allowerasing -y install docker-ce
	# Step 4: 安装Docker-Compose服务
	curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
    # Step 5: 开启Docker服务
    systemctl enable docker
    systemctl start docker  
 
    echo -e "docker installed  [\033[32m OK \033[0m]"
    sleep 3
 
 else
    echo "docker 已存在"
 fi
 
 
}
 
#------------------------配置镜像加速服务------------------------
function setup_fast_mirros(){
echo "正在配置镜像加速服务....."
filename='/etc/docker/daemon.json'
 
if [ ! -f ${filename} ]
then
 
cat > ${filename} <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
    ]
}
EOF
sleep 3
 
if [ -f ${filename} ]
then
    echo -e "文件配置成功  [\033[32m OK \033[0m]"
    systemctl daemon-reload
    systemctl restart docker 
    docker info
    which docker 
    sleep 3
else
    echo -e "文件配置失败[\033[31m FAILED  \033[0m]"
    exit
fi
 
else
    echo "${filename} 文件已存在,未做修改"
fi
 
}
 
 
#------------------------拉取常用镜像------------------------
function docker_pull_images(){
 
# 系统镜像
os_images=("centos:7.9.2009")
# web服务镜像
web_images=("nginx" "tomcat" "httpd" )
# 数据库镜像
database_images=("mysql:5.7.32" "mysql:8")
# 开发工具镜像
develop_images=("python" "busybox" )
# docker镜像
docker_image=("docker")
 
# 拉取镜像时只需调用对应的变量
download_images=(
# "${os_images[*]}" 
"${web_images[*]}" 
"${database_images[*]}" 
# "${develop_images[*]}"  
# "${docker_image[*]}"  
)
 
rpm -qa | grep docker-ce  &> /etc/null
if [ $? -eq 0 ]
then
    echo "拉取镜像开始..."
    sleep 1
    for image in ${download_images[*]}
    do
        echo "正在拉取镜像---${image}---"
        image_name=`echo ${image} | awk -F: '{print $1}'`
        docker images ${image} | grep -o ${image_name}  &> /etc/null
 
        if [ $? -ne 0 ]
        then
            docker pull ${image}
        else
            echo -e "${image}镜像已存在 [\033[32m OK \033[0m]"
        fi
        sleep 1
    done
 
    echo -e "镜像拉取完毕  [\033[32m OK \033[0m] 详情如下:"
    docker images
 
else
    echo -e "docker未安装,请安装docker后再拉取镜像    [\033[31m ERROR \033[0m]"
    exit
fi
 
}
 
#------------------------开启功能------------------------
os=`cat /etc/redhat-release | grep -o '[0-9]'|sed -n '1p'`
if [ $os == 7 ];then
	os7_install_docker
	setup_fast_mirros
elif [ $os == 8 ];then
    os8_install_docker
	setup_fast_mirros
else
    echo "此脚本不支持该系统安装!"
    exit
fi
 
 
# 1 安装docker
#install_docker
 
# 2 配置加速服务
#0setup_fast_mirros
 
# 3 拉取常用镜像
# docker_pull_images

centos7卸载docker

yum remove -y docker-ce docker-ce-cli containerd.io

centos8卸载docker

yum remove -y docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-selinux \
           docker-engine-selinux \
           docker-engine
0

评论区