#!/bin/bash
function uninstall_docker() {
yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
}
IS_GCC=`rpm -qa | grep gcc`
function install_gcc() {
if [[ ${IS_GCC} ]];
then
echo "Has benn installed gcc,pleaase continue to install docker!"
else
yum -y install gcc gcc-c+
echo "gcc has been installed!!!"
fi
}
function install_software() {
echo "install yum-utils....."
yum -y install yum-utils
echo “set stable mirrors repository...”
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo "update yum cache..."
yum makecache fast
}
function install_docker() {
yum -y install docker-ce docker-ce-cli containerd.io
}
function start_docker() {
systemctl enable docker
systemctl start docker
docker version
}
function set_mirror() {
`mkdir -p /etc/docker`
`tee /etc/docker/daemon.json <<-'EOF' \
{ \
"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"] \
} \
EOF`
sleep 5
`systemctl daemon-reload`
`systemctl restart docker`
}
function message() {
echo '运行完此脚本,docker已经安装完成,但是会有一些问题,从而导致docker无法启动...'
echo '这是因为在配置镜像加速器的时候,此脚本虽然已经将镜像加速器配置完成...'
echo '但是,它没有交互,所以在/etc/docker/daemon.json文件中没有添加配置完成之后的内容...'
echo '所以这个时候发现docker无法启动,不要着急,只需要...'
echo 'vim /etc/docker/daemon.json'
echo '添加以下内容:'
echo '{ '
echo -e '\t"registry-mirrors": ["https://registry.docker-cn.com"]'
echo '}'
echo '然后重启docker就可以了...'
}
IS_DOCKER=`rpm -qa | grep docker`
if [[ ${IS_DOCKER} ]];
then
echo "Has benn installed docker,It is now begin uninstalled..."
uninstall_docker
install_gcc
install_software
install_docker
echo "docker install successful..."
start_docker
set_mirror
message
else
echo "start install docker..."
install_gcc
install_software
install_docker
echo "docker install successful..."
start_docker
set_mirror
message
fi