Docker 部署脚本

#!/bin/bash

# Function to install Docker on Ubuntu

install_docker_ubuntu() {
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce
}

# Function to install Docker on CentOS

install_docker_centos() {
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
}

# Configure Docker mirrors

configure_docker_mirrors() {
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://grv5468h.mirror.aliyuncs.com",
"https://registry.dockercn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"http://hubmirror.c.163.com",
"http://qtid6917.mirror.aliyuncs.com",
"https://rncxm540.mirror.aliyuncs.com"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now docker
}

# Determine OS and run appropriate installation function

if [ -f /etc/os-release ]; then
ID=$(cat /etc/os-release | grep "^NAME=" | cut -d'"' -f2)
if [ "$ID" == "Ubuntu" ]; then
install_docker_ubuntu
elif [ "$ID" == "CentOS Linux" ]; then
install_docker_centos
else
echo "Unsupported distribution: $ID"
exit 1
fi
configure_docker_mirrors
else
echo "Unsupported distribution"
exit 1
fi

echo "Docker installation and configuration completed successfully."