Docker📦
卸载旧版本(如果存在)
sudo apt-get remove docker docker-engine docker.io containerd runc
清理历史安装痕迹
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
安装必要工具
sudo apt update
sudo apt install -y curl apt-transport-https ca-certificates software-properties-common
添加Docker官方GPG密钥
sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
设置APT仓库
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
安装Docker引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动并启用Docker服务
sudo systemctl daemon-reload sudo systemctl start docker sudo systemctl enable docker
验证安装
sudo docker version
sudo docker info
sudo docker run hello-world # 测试运行容器
在执行这一步的时候,会出现一个问题
jared@jared-virtual-machine:~/桌面$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)Run 'docker run --help' for more information
我发现是网络连接问题,所以我修改了一下我的镜像源文件,就是主要步骤如下面重要配置所示!我的解决方法即是添加一个镜像源文件,如下
⚙️ 重要配置(根据需求选择)
🔄 镜像加速器(解决拉取镜像慢的问题)上面问题的解决方法
创建配置文件:
sudo nano /etc/docker/daemon.json
添加镜像源(选一个):
{ "registry-mirrors": [ "https://mirror.ccs.tencentyun.com", // 腾讯云 "https://docker.m.daocloud.io", // 推荐 "https://dockerhub.timeweb.cloud" ] }
重启服务:
sudo systemctl restart docker
💾 修改Docker数据目录(如果/var空间不足)-若有这个需求
创建新目录:
sudo mkdir -p /data/var/lib/docker
修改配置:
sudo nano /etc/docker/daemon.json
添加内容:
{ "data-root": "/data/var/lib/docker" }
保存:CTRL S 退出:CTRL X
重启服务:
sudo systemctl daemon-reload sudo systemctl restart docker
✅ 验证成功标志
执行
sudo docker run hello-world
后看到:Hello from Docker! This message shows that your installation appears to be working correctly.
检查数据目录:
sudo ls /var/lib/docker # 或您自定义的目录
⚠️ 常见问题解决
如果遇到服务启动失败:
sudo systemctl daemon-reload
sudo systemctl start docker
注意:请使用提供的替代镜像源