You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/bin/bash
|
|
|
|
##### debian 安装Docker #####
|
|
|
|
|
|
|
|
#准备工作
|
|
|
|
preparation(){
|
|
|
|
#移除原有的服务
|
|
|
|
apt-get -y remove docker docker-engine docker.io containerd runc
|
|
|
|
#更新软件包
|
|
|
|
apt-get update
|
|
|
|
#安装必要的依赖
|
|
|
|
apt-get -y install ca-certificates curl gnupg lsb-release
|
|
|
|
#添加官方密钥
|
|
|
|
mkdir -p /etc/apt/keyrings
|
|
|
|
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
|
|
#设置存储库
|
|
|
|
echo \
|
|
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
|
|
|
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
|
|
}
|
|
|
|
|
|
|
|
#安装docker
|
|
|
|
install_docker(){
|
|
|
|
#创建配置文件
|
|
|
|
mkdir -p /etc/docker
|
|
|
|
touch /etc/docker/daemon.json
|
|
|
|
#创建存储目录
|
|
|
|
mkdir -p /data/docker-data
|
|
|
|
#chown -R docker:docker /data/docker-data
|
|
|
|
cat <<EOF > /etc/docker/daemon.json
|
|
|
|
{
|
|
|
|
"data-root": "/data/docker-data",
|
|
|
|
"storage-driver": "overlay2"
|
|
|
|
}
|
|
|
|
EOF
|
|
|
|
apt-get update
|
|
|
|
apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
|
|
|
#启动docker
|
|
|
|
systemctl start docker
|
|
|
|
systemctl enable docker
|
|
|
|
#运行一个hello word
|
|
|
|
docker run hello-world
|
|
|
|
}
|
|
|
|
|
|
|
|
#安装docker composer
|
|
|
|
install_composer(){
|
|
|
|
curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
|
|
|
|
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
|
|
|
chmod +x /usr/local/bin/docker-compose
|
|
|
|
docker-compose -v
|
|
|
|
}
|
|
|
|
|
|
|
|
preparation && install_docker && install_composer
|