docker以及docker-compose服务安装指南
本文能够帮助使用linux环境的开发人员快速完成docker以及docker-compose安装
以下安装脚本均在centos7.x和ubuntu 20.04以下版本运行且未发现明显异常
执行脚本前,请确认当前服务器wget,vim等基础命令可用
Centos脚本
#!/bin/bash
start_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "##########################################################################################"
echo "start install docker ......"
echo ""
if [ ! -f "containerd.io-1.2.2-3.el7.x86_64.rpm" ];then
wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.el7.x86_64.rpm
fi
if [ ! -f "docker-ce-19.03.10-3.el7.x86_64.rpm" ];then
wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.10-3.el7.x86_64.rpm
fi
if [ ! -f "docker-ce-cli-19.03.10-3.el7.x86_64.rpm" ];then
wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.10-3.el7.x86_64.rpm
fi
yum localinstall -y containerd.io-1.2.2-3.el7.x86_64.rpm
yum localinstall -y docker-ce-cli-19.03.10-3.el7.x86_64.rpm
yum localinstall -y docker-ce-19.03.10-3.el7.x86_64.rpm
systemctl enable docker.service
systemctl restart docker.service
docker -v
echo ""
echo "finish install docker ......"
echo "##########################################################################################"
sleep 1
echo "start install common docker-compose"
echo ""
curl -L "https://github.com/docker/compose/releases/download/1.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
echo ""
chmod u+x /usr/local/bin/docker-compose
docker-compose --version
echo ""
echo "finish install docker-compose ......"
echo "##########################################################################################"
sleep 1
echo "show execute time detail ......"
echo ""
finish_time=$(date "+%Y-%m-%d %H:%M:%S")
echo -e "\033[1;31mstart at : ${start_time} \033[0m"
echo -e "\033[1;31mfinish at : ${finish_time}\033[0m"
echo "######################################## END ##########################################"
Ubuntu脚本
#!/bin/bash
start_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "##########################################################################################"
echo "start install docker ......"
echo ""
sudo apt-get remove -y docker docker-engine docker.io containerd runc docker-compose
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker
sudo systemctl start docker
echo "finish install docker ......"
echo "##########################################################################################"
sleep 1
echo "start install docker-compose ......"
echo ""
curl -L "https://github.com/docker/compose/releases/download/1.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod u+x /usr/local/bin/docker-compose
docker-compose --version
echo ""
echo "finish auto install docker-compose ......"
echo "##########################################################################################"
sleep 1
echo "show execute time detail ......"
echo ""
finish_time=$(date "+%Y-%m-%d %H:%M:%S")
echo -e "\033[1;31mstart at : ${start_time} \033[0m"
echo -e "\033[1;31mfinish at : ${finish_time}\033[0m"
echo "######################################## END ##########################################"
其他说明点
1、Ubuntu环境执行时,尽量使用bash,避免输入颜色和高亮等失效
2、Ubuntu环境如果使用的是20.10这个版本,安装docker会失败,是因为其稳定版仓库缺少对应文件(截止2020-11月)
查看地址:https://download.docker.com/linux/ubuntu/dists/
3、为什么不建议Ubuntu环境下使用apt-get install -y docker-compose安装
使用apt安装后,有一定几率出现一个bug,就是无法使用docker login 登陆到dockerhub,暂未深究这个问题
4、安装docker-compose时,使用curl下载速度可能很慢,可以直接去下面的地址直接下载文件并参照命令完成安装
官方GitHub下载地址:https://github.com/docker/compose/releases/
5、根据以上脚本完成安装之后,使用docker pull命令下载镜像时,速度不见得很快,可以修改镜像仓库地址为国内的地址
参照执行:
cat>/etc/docker/daemon.json<<EOF
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com","https://g6wodv91.mirror.aliyuncs.com"]
}
EOF
执行完成后,重启docker服务
systemctl restart docker