首先,查看系统是否有安装docker
docker version

如果有,先卸载操作系统默认安装的docker(如果没有,则不需要执行该条命令)
apt remove docker docker-engine docker.io containerd runc
然后执行以下命令来更新Ubuntu软件包列表和已安装软件的版本
apt update
apt upgrade -y

执行到apt upgrade -y的时候可能会出现这种情况:

这时候,系统提示需要重启以加载新内核:
首先,检查当前内核版本
uname -r

然后,重启系统
reboot

重启之后,验证内核版本是否更新
uname -r

接下来,安装必要的支持
apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y

然后,添加 Docker 官方 GPG key (可能国内现在访问会存在问题)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
所以,我们可以改用阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

然后,添加 apt 源
Docker官方源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
阿里apt源(推荐使用):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

然后,更新Ubuntu软件包列表和已安装软件的版本
apt update
apt upgrade


接下来,安装最新版本的Docker(这里需要一点时间):
apt install docker-ce docker-ce-cli containerd.io -y

查看docker的版本:
docker version

查看docker的运行状态:
systemctl status docker

安装docker命令补全工具:
apt install bash-completion -y

下载并安装 Docker 的 Bash 自动补全功能:
curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh

重新加载 Bash 补全:
source /etc/bash_completion.d/docker.sh

Docker换源
我们刚安装docker进入/etc/docker这个目录下,可以看到这个目录是空的

所以接下来我们就要创建一个json文件并编辑
vim /etc/docker/daemon.json
在json文件中添加以下的镜像加速器列表,添加完成后输入wq保存退出
{
"registry-mirrors": [
"https://mirror.aliyuncs.com",
"https://docker.m.daocloud.io",
"https://docker.mirrors.ustc.edu.cn"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}

重载生效
systemctl daemon-reload

重启Docker服务
systemctl restart docker

查看docker状态
systemctl status docker

测试
docker run hello-world
测试成功

到这里docker的安装就基本完成了!
795






