Skip to content

Instantly share code, notes, and snippets.

@JoJoJotarou
Last active September 4, 2025 03:00
Show Gist options
  • Select an option

  • Save JoJoJotarou/a41455ee41c8d43fe4150c9f16107270 to your computer and use it in GitHub Desktop.

Select an option

Save JoJoJotarou/a41455ee41c8d43fe4150c9f16107270 to your computer and use it in GitHub Desktop.

卸载/安装

Contos

查看脚本 contos-docker-install.sh

Ubuntu

卸载

# 仅删除 docker 不删除相关数据
sudo apt remove docker docker-engine docker.io containerd runc

# 同时删除数据
sudo apt remove docker docker-engine docker.io containerd runc \
&& sudo rm -rf /var/lib/docker \
&& sudo rm -rf /var/lib/containerd 

安装

同时安装了 docker-ce 和 docker compose (推荐使用 Aliyun 镜像安装

# Aliyun 镜像版安装步骤
sudo apt update \
&& sudo apt -y install apt-transport-https ca-certificates curl software-properties-common \
&& curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - \
&& sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" \
&& sudo apt -y update \
&& sudo apt install -y docker-ce docker-compose-plugin

# 官方安装步骤
sudo apt update \
&& sudo apt install ca-certificates curl gnupg lsb-release \
&& sudo mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo 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/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null \
&& sudo apt update \
&& sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证

docker version

docker compose version

docker composedocker-compose 这2个命令的区别?

首先它们功能一样的,docker compose 是安装 docker-compose-plugin 提供的,docker-compose 是 docker compose 独立安装版的命令。官方文档相关描述

镜像加速

vim /etc/docker/daemon.json 添加如下内容(这里使用腾讯云的镜像加速,阿里云的需要登录)

{
    "registry-mirrors": [
     "https://mirror.ccs.tencentyun.com"
    ]
}

然后重启服务 sudo systemctl restart docker

设置

# 设置开机自启
sudo systemctl enable docker
# docker 安装后默认不启动
sudo systemctl start docker
# 重启 docker 服务
sudo systemctl restart docker
#!/bin/bash
function install_docker () {
echo ""
echo ""
echo "#########################################################"
echo "# 卸载旧版本 -- 开始 #"
echo "#########################################################"
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
echo "#########################################################"
echo "# 卸载旧版本 -- 结束 #"
echo "#########################################################"
# 安装需要的依赖软件包
echo ""
echo ""
echo "#########################################################"
echo "# 安装需要的软件包 -- 开始 #"
echo "#########################################################"
yum install -y yum-utils
echo "#########################################################"
echo "# 安装需要的软件包 -- 结束 #"
echo "#########################################################"
echo ""
echo ""
echo "#########################################################"
echo "# 设置 yum 源 -- 开始 #"
echo "#########################################################"
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo "#########################################################"
echo "# 设置 yum 源 -- 结束 #"
echo "#########################################################"
# 安装 docker-ce
echo ""
echo ""
echo "#########################################################"
echo "# 安装 docker-ce -- 开始 #"
echo "#########################################################"
yum install -y docker-ce docker-ce-cli containerd.io
# 指定安装版本
# yum list docker-ce --showduplicates | sort -r
# yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
echo "#########################################################"
echo "# 安装 docker-ce -- 结束 #"
echo "#########################################################"
# 启动并加入开机启动
echo ""
echo ""
echo "#########################################################"
echo "# 启动并加入开机启动 -- 开始 #"
echo "#########################################################"
systemctl start docker
systemctl enable docker
echo "#########################################################"
echo "# 启动并加入开机启动 -- 结束 #"
echo "#########################################################"
# 验证安装是否成功
echo ""
echo ""
echo "#########################################################"
echo "# 验证安装是否成功 -- 开始 #"
echo "#########################################################"
docker version
echo "#########################################################"
echo "# 验证安装是否成功 -- 结束 #"
echo "#########################################################"
# 安装docker-compose
echo ""
echo ""
echo "#########################################################"
echo "# 安装docker-compose -- 开始 #"
echo "#########################################################"
yum install -y epel-release && yum install -y python3-pip python3-devel libffi-dev openssl-dev gcc libc-dev rust cargo make && pip3 install --upgrade pip && pip3 install docker-compose
echo "#########################################################"
echo "# 安装docker-compose -- 结束 #"
echo "#########################################################"
# 验证安装是否成功
echo ""
echo ""
echo "#########################################################"
echo "# 验证安装是否成功 -- 开始 #"
echo "#########################################################"
docker-compose --version
echo "#########################################################"
echo "# 验证安装是否成功 -- 结束 #"
echo "#########################################################"
}
function uninstall_docker () {
echo ""
echo ""
echo "#########################################################"
echo "# 卸载docker-ce -- 开始 #"
echo "#########################################################"
yum remove -y docker-ce docker-ce-cli containerd.io && rm -rf /var/lib/containerd
echo "#########################################################"
echo "# 卸载docker-ce -- 结束 #"
echo "#########################################################"
echo ""
echo ""
echo "#########################################################"
echo "# 卸载docker-compose -- 开始 #"
echo "#########################################################"
pip3 uninstall docker-compose
echo "#########################################################"
echo "# 卸载docker-compose -- 结束 #"
echo "#########################################################"
}
echo -e '\033[35m>>>\033[0m 该脚本为docker-ce & docker-compose安装/卸载脚本(需要root执行, 仅在centos 7.9 arm 测试过)'
echo -e "\033[35m>>>\033[0m 选择要执行的操作:\033[34m1(安装);2(卸载)\033[0m"
read -p "Please Choose:" do_what
if [ $do_what -eq 1 ]; then
install_docker
elif [ $do_what -eq 2 ]; then
uninstall_docker
else
echo -e '\033[35m>>>\033[0m \033[31mUnknown Operation\033[0m'
fi
#!/bin/bash
set -e
function uninstall_docker_pkg() {
echo "🧹 卸载 Docker 相关软件包(保留数据)..."
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt-get autoremove -y
}
function uninstall_docker_all() {
echo "🔥 强制清除 Docker 所有文件与配置..."
uninstall_docker_pkg
echo "🗑️ 删除 Docker 数据与配置目录..."
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker
echo "🧽 移除 Docker APT 源及 GPG 密钥..."
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.gpg
}
function install_docker() {
echo "🔍 检查是否存在旧版本 Docker..."
if dpkg -l | grep -E 'docker-ce|docker-ce-cli|containerd.io|docker-buildx-plugin|docker-compose-plugin' > /dev/null; then
echo "⚠️ 检测到旧版本 Docker,执行卸载(保留数据)..."
uninstall_docker_pkg
fi
echo "📂 添加 Docker 官方源..."
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
echo "🔐 添加 Docker GPG 密钥..."
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null
echo "🌐 配置 Docker 源列表..."
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
echo "📦 安装 Docker 社区版本及插件..."
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
echo "🚀 配置国内镜像加速器..."
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json > /dev/null
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.1panel.live",
"https://docker.m.daocloud.io",
"https://hub1.nat.tf"
]
}
EOF
echo "🧩 启动并设置 Docker 开机启动..."
sudo systemctl daemon-reexec
sudo systemctl restart docker
sudo systemctl enable docker
echo "✅ Docker 安装完成!"
echo "🔍 版本信息:"
docker version
docker compose version
}
echo -e '\033[35m>>>\033[0m 当前脚本适用于 \033[32mUbuntu 24.04\033[0m,使用 \033[33m阿里云源 + 国内镜像加速器\033[0m 安装 Docker & Compose 插件'
echo -e "\033[35m>>>\033[0m 请选择操作:\033[34m1(安装);2(卸载[保留数据]);3(卸载[清除数据])\033[0m"
read -p "Please Choose: " do_what
if [ "$do_what" -eq 1 ]; then
install_docker
elif [ "$do_what" -eq 2 ]; then
uninstall_docker_pkg
elif [ "$do_what" -eq 3 ]; then
uninstall_docker_all
else
echo -e '\033[31m未知操作,退出\033[0m'
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment