Skip to content

Instantly share code, notes, and snippets.

@JoJoJotarou
Last active June 23, 2022 13:20
Show Gist options
  • Save JoJoJotarou/a41455ee41c8d43fe4150c9f16107270 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment