Docker和docker-compose安装脚本-Ubuntu16.04

一、Docker and Docker-compose 安装脚本

具体脚本代码如下

#!/bin/bash
docker -v &>/dev/null
if  [ $? == 0 ];then
	echo -e "[*] docker-ce 已经存在..."
	echo -e "[*] 1、升级docker.\n2、卸载docker.\n3、卸载重新安装docker."
	read -p ""
	docker-compose -v &>/dev/null
	if [ $? == 0 ];then
		echo -e "[*] docker-compose 也已经存在..."
		echo -e "[*] 退出安装程序.....exit...."
		exit
	fi
fi
echo -e "[*] 开始更新源...."
apt-get update -y
#apt-get upgrade -y
if [ $? != 0 ];then
	echo -e "[*] sudo ./docker-install.sh"
	exit
fi

echo -e "[*] 开始安装 docker-ce..."
apt-get install docker-ce -y
if [ $? != 0 ];then
	apt-get install -y apt-transport-https ca-certificates curl software-properties-common
	curl -fsSL https://download.docker.com/linux/ubuntu/gpg |  apt-key add -
	add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
	apt-get update
	cache=`apt-cache search docker-ce`
	if [ ! -n "$cache" ];then
		echo -e "[*] 添加ali源....."
		curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg |  apt-key add -
		add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
		apt-get update
	fi
	apt-get install docker-ce -y
	if [ $? != 0 ];then
		printf "Y\ny\n" | apt-get install docker-ce
	fi
fi

docker -v
if [ $? != 0 ];then
	echo -e "[-] docker-ce 安装失败....."
	exit
else
	echo -e "[+] docker-ce 安装成功....."
fi

echo -e "[*] 开始安装 docker-compose....."
#apt install docker-compose -y
curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

if [ $? == 0 ];then
	echo -e "[+] docker-compose 安装成功....."
fi





运行安装脚本:

#给脚本被赋予用户执行权限
chmod u+x docker-install.sh
#执行脚本,开始安装
sudo ./docker-install.sh

二、升级版本~

升级版的安装脚本第一次安装如果有问题的话,进行第二次安装就行了。

#!/bin/bash

###更新函数###
function update_source(){
	echo -e "[*] 开始更新源...."
	apt-get update -y
	#apt-get upgrade -y
	if [ $? != 0 ];then
		echo -e "[*] sudo ./docker-install.sh"
		exit
	fi
}

###安装docker-ce函数###
function install_docker_ce(){
	echo -e "[*] 开始安装 docker-ce..."
	apt-get install docker-ce -y
	if [ $? != 0 ];then
		#apt-get install -y apt-transport-https ca-certificates curl software-properties-common
		printf "Y\n" |apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
		#curl -fsSL https://download.docker.com/linux/ubuntu/gpg |  apt-key add -
		printf "Y\n" |curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
		#add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
		echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
		apt-get update
		cache=`apt-cache search docker-ce`
		if [ ! -n "$cache" ];then
			echo -e "[*] 添加ali源....."
			curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg |  apt-key add -
			add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
			apt-get update
			#apt-get install docker-ce -y
		fi
			apt-get install docker-ce docker-ce-cli containerd.io -y
			if [ $? != 0 ];then
				printf "Y\ny\n" | apt-get install docker-ce
			fi
		fi

	docker -v
	if [ $? != 0 ];then
	echo -e "[-] docker-ce 安装失败.....";exit
	else
		echo -e "[+] docker-ce 安装成功....."
	fi
}
###卸载docker-ce函数###
function remove_docker_ce(){	
	printf "Y\n" |apt-get remove  docker docker-engine docker.io containerd runc
	printf "Y\n" |apt-get purge docker-ce docker-ce-cli containerd.io
	rm -rf /var/lib/docker
	rm -rf /var/lib/containerd
	docker -v
	if [ $? != 0 ];then
		echo -e "[*] docker卸载成功..."
	else
		echo -e "[-] docker-ce卸载失败..."
		echo -e "[-] sudo ./docker_install.sh";exit
	fi
}

###安装docker-compose函数###
function install_docker_compose(){
	echo -e "[*] 开始安装 docker-compose....."
	#apt install docker-compose -y
	#下载docker稳定版.......
	curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
	chmod +x /usr/local/bin/docker-compose
	ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
	docker-compose --version

	if [ $? == 0 ];then
		echo -e "[+] docker-compose 安装成功......"
	else
		echo -e "[-] docker-compose 安装失败......"
	fi
}

###卸载docker-compose-函数
function remove_docker_compose(){
	echo -e "[*] 开始卸载docker-compose..."
	rm /usr/local/bin/docker-compose
	docker-compose -v
	if [ $? != 0 ];then
		echo -e "[*] docker-compose卸载成功..."
	else
		echo -e "[-] docker-compose卸载失败...";exit
	fi
}


docker -v &>/dev/null
if  [ $? == 0 ];then
	echo -e "[*] docker-ce 已经存在..."
	echo -e "1、升级docker.\n2、仅卸载docker.\n3、卸载重新安装docker."
	read -p "Please enter your choice?: " num
	if [ $num == 1 ];then
		echo -e "[*] 开始升级docker-ce.."
		update_source
		install_docker_ce
	elif [ $num == 2 ];then
		echo -e "[*] 开始卸载docker-ce..."
		remove_docker_ce
	elif [ $num == 3 ];then
		echo -e "卸载重新安装docker-ce"
		remove_docker_ce
		update_source
		install_docker_ce
	elif [ $num == 'q' ];then
		echo -e "[*] 退出安装docker-ce程序...";
	else
		exit
	fi
else
	update_source
	install_docker_ce
fi


docker-compose -v &>/dev/null
if [ $? == 0 ];then
	echo -e "[*] docker-compose 也已经存在..."
	echo -e "1、升级docker-compose.\n2、仅卸载docker-compose.\n3、卸载重新安装docker-compose."
	read -p "Please enter your choice?: " num2
	if [ $num2 == 1 ];then
		echo -e "[*] 开始升级docker-compose..."
		echo -e "[*] 该功能在升级中..";exit
		#docker-compose migrate-to-labels
	elif [ $num2 == 2 ];then
		remove_docker_compose
	elif [ $num2 == 3 ];then
		echo -e "卸载重新安装docker-compose"
		remove_docker_compose
		update_source
		install_docker_compose
	elif [ $num2 == 'q' ];then 
		echo -e "[*] 退出安装程序...";exit
	else
		exit
	fi
	#echo -e "[*] 退出安装程序.....exit....";exit
else
	update_source
	install_docker_compose
fi

要在桥接的模式下运行安装脚本!!:

参考文章:

  1. https://docs.docker.com/compose/install/#prerequisites
  2. https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒险岛_0_

您的打赏是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值