話不多說,直接貼上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