话不多说,直接贴上shell脚本
#!/bin/bash
#auto install docker and pull images
#by yanlichao 20190923
#Define PATH Varablies
# docker安装
function docker_install()
{
echo "====检查docker是否安装========="
docker -v
if [ $? -eq 0 ]; then
echo "====检测到docker已经安装===="
else
echo "====开始yum安装docker==="
yum update -y
yum install docker-io -y
echo "====docker 安装完成=="
fi
echo "====启动docker===="
systemctl start docker.service
echo "====docker启动完成===="
}
# docker 拉取镜像
function docker_pull_images()
{
# 获取已经有的所有镜像
existImages=(`docker images |awk '{print $1":"$2}' ""`) # 获取当前所有镜像
# 获取镜像个数
existImagesNum=${#existImages[@]}
#echo $Doc_Ima_i
# 需要拉取的镜像
needImages=(
"registry.cn-shenzhen.aliyuncs.com/ylxq/redis3.2:20190919"
"registry.cn-shenzhen.aliyuncs.com/ylxq/mysql5.7:20190919"
"registry.cn-shenzhen.aliyuncs.com/ylxq/nginx:20190919"
"registry.cn-shenzhen.aliyuncs.com/ylxq/memcached:20190919"
"registry.cn-shenzhen.aliyuncs.com/ylxq/php72-fpm:20190919"
)
needImagesNum=${#needImages[@]}
#echo needImagesNum
# 查看镜像是否存在
for (( i = 0; i < needImagesNum; i++ )); do
#echo ${needImages[$i]}
isExist=0
for (( j = 0; j < existImagesNum; j++ )); do
#echo ${existImages[$j]}
if [[ ${needImages[$i]} = ${existImages[$j]} ]] ; then
isExist=1
break
fi
done
if [[ $isExist -eq 1 ]]; then
echo ${needImages[$i]}"存在"
else
echo ${needImages[$i]}"不存在"
# 拉取不存在的镜像
docker pull ${needImages[$i]}
fi
done
}
# 安卓docker-compose
function install_dockercompose()
{
echo "====检查是否安装docker-compose===="
docker-compose version
if [ $? -eq 0 ]; then
echo "====检测到docker-compose已经安装===="
else
echo "====开始安装docker-compose==="
curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
echo "====docker-compose 安装完成=="
fi
}
# 安装并启动docker
docker_install
# docker拉取镜像
docker_pull_images
# docker-compose 安装
install_dockercompose