#!/bin/bash
# 2024-12

#获取脚本根目录，并设为只读
readonly INITDIR=$(cd $(dirname $0); dirname "$PWD")
STAMP=`date -d today +"%Y%m%d%H%M%S"`

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

#安装yum组件
yum install -y yum-utils device-mapper-persistent-data lvm2
#加载源
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#打印源列表
yum list docker-ce.x86_64 --showduplicates |sort -r
#安装
#yum install -y --setopt=obsoletes=0 docker-ce-18.06.1.ce-3.el7
yum install -y docker-ce

systemctl enable docker
systemctl start docker

#echo "Docker测试..."
#sleep 5
#docker run hello-world
#[ $? -eq 0 ] && echo "Docker安装成功！" || echo -e "\033[31mDocker测试异常！注意检查\033[0m"

#安装docker compose
#[ -e /usr/local/bin/docker-compose ] &&  mv /usr/local/bin/docker-compose /root/docker-compose_$STAMP
#\cp -f $INITDIR/file/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
#[ -e /usr/local/bin/docker-compose ] && chmod +x /usr/local/bin/docker-compose && echo "Docker-compose安装成功" || echo -e "\033[31mDocker-compose安装失败！请注意检查！\033[0m"

#配置docker网络参数
sed -i '/net.bridge.bridge-nf-call-ip/d' /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.d/*.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.d/*.conf
sysctl --system
systemctl daemon-reload
systemctl restart docker
echo "Docker网络参数配置完成"
