1. 程式人生 > >安裝Docker和docker-compose的指令碼

安裝Docker和docker-compose的指令碼

附上一段安裝Docker和docker-compose的指令碼(個人編寫使用,原諒寫的不好):

#!/bin/sh
if [ "$USER" != "root" ];then
    echo "非管理員,退出執行"
    exit 1
else
    echo "以下操作將會以管理員身份進行!"
fi

# 判斷 docker 是否可用
systemctl restart docker
docker info
if [ $? -ne 0 ]; then
    # 解除安裝docker
    yum -y remove docker.x86_64 \
        && yum -y remove docker-client.x86_64  \
        && yum -y remove docker-common.x86_64
    rm -rf /var/lib/docker
    rm -rf /etc/docker
fi

# 判斷 docker 是否已經安裝
if [ `yum list installed | grep docker |wc -l` -eq 0 ];then
#    沒安裝
    yum -y install docker-io \
    && systemctl restart docker \
    && systemctl enable docker \
    && sudo mkdir -p /etc/docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://b8e5adf1.m.daocloud.io","https://azv9dg7g.mirror.aliyuncs.com"]
}
EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    echo "   安裝docker完成    "
fi

# 判斷wget是否可用
wget --help
if [ $? -ne 0 ]; then
# 不可用
    yum -y install wget
fi

# 判斷 docker-compose 是否可用
docker-compose version
if [ $? -ne 0 ]; then
# 不可用
    rm -rf /usr/local/bin/docker-compose
fi

if [[ ! -f  "/usr/local/bin/docker-compose" ]] || [[ ! -x  "/usr/local/bin/docker-compose" ]];then
 wget -O /usr/local/bin/docker-compose  https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m`	\
    && chmod +x /usr/local/bin/docker-compose

    # 判斷 docker-compose 是否可用
    docker-compose version
    if [ $? -ne 0 ]; then
		sleep 3
		wget -O /usr/local/bin/docker-compose  https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m`	\
			&& chmod +x /usr/local/bin/docker-compose
    # 不可用
       echo -e "請手動安裝docker-compose \n"
       echo "wget -O /usr/local/bin/docker-compose  https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` && chmod +x /usr/local/bin/docker-compose"
       exit 1
    fi

	docker-compose version
    if [ $? -ne 0 ]; then
		# 不可用
       echo -e "請手動安裝docker-compose \n"
       echo "wget -O /usr/local/bin/docker-compose  https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` && chmod +x /usr/local/bin/docker-compose"
       exit 1
    fi

    systemctl restart docker     \
    && echo "   安裝docker-compose完成   "
fi

歡迎指正,謝謝大家!