1、替换清华源
替换 sources.list 里面的内容
sh
sudo vim /etc/apt/sources.list
sh
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
2、更新包缓存和下载
sh
sudo apt update
sh
sudo apt upgrade
3、删除存在的 docker
sh
sudo apt remove docker docker-engine docker.io containerd runc
查看版本
sh
sudo docker --version
查看是否还存在 docker 服务
sh
sudo dpkg -l | grep docker
4、安装 docker
安装 docker 依赖库
sh
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
导入 GPG key
sh
sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加 docker apt 源
sh
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 docker
sh
sudo apt install docker-ce docker-ce-cli containerd.io
5、验证安装
sh
sudo docker --version
sh
sudo docker run hello-world
6、FAQ
1)导入GPG key失败
本地下载 GPG
sh
https://download.docker.com/linux/ubuntu/gpg
添加本地 GPG。注意替换本地路径
sh
sudo apt-key add /root/docker/gpg
2)docker run hello-world 失败
可以自己从阿里云获取一个免费的专属地址 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
设置 registry mirror
sh
sudo mkdir -p /etc/docker
sh
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://w1m3bf6y.mirror.aliyuncs.com"]
}
EOF
重启 docker 服务
sh
sudo systemctl restart docker
或者
sh
service docker restart