目录
sudo apt-get install docker-ce docker-ce-cli containerd.io 正在读取软件包列表... 完成 正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 docker-ce,但是它被其它的软件包引用了。 这可能意味着这个缺失的软件包可能已被废弃, 或者只能在其他发布源中找到E: 软件包 docker-ce 没有可安装候选 E: 无法定位软件包 docker-ce-cli E: 无法定位软件包 containerd.io E: 无法按照 glob ‘containerd.io’ 找到任何软件包 E: 无法按照正则表达式 containerd.io 找到任何软件包
这个错误表明你的Ubuntu存储库中没有Docker相关的包。可以通过添加Docker官方存储库来解决这个问题
1.移除旧版本:移除可能存在的旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 更新包索引:更新宝索引并安装依赖包
- sudo apt-get update
- sudo apt-get install \
- apt-transport-https \
- ca-certificates \
- curl \
- gnupg \
- lsb-release
3.添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4.设置Docker存储库:设置稳定版的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
5.更新包索引:再次更新包索引
sudo apt-get update
6.安装Docker引擎:安装最新版本的Docker引擎和容器工具
sudo apt-get install docker-ce docker-ce-cli containerd.io
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg gpg: WARNING: unsafe ownership on homedir '/home/hxy/.gnupg' File '/usr/share/keyrings/docker-archive-keyring.gpg' exists. 是否覆盖?(y/N) y
curl: (7) Failed to connect to download.docker.com port 443: 连接超时 gpg: 找不到有效的 OpenPGP
这个问题表明你当前无法连接到Docker的官方GPG密钥服务器,可能是由于网络问题或防火墙限制。
尝试使用其他GPG密钥服务器来下载Docker的GPG密钥:
curl -fsSL https://keys.openpgp.org/vks/v1/by-fingerprint/0EBFCD88 | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
如果你在中国大陆,可以尝试使用国内的镜像源,例如阿里云的Docker镜像源:
1.添加阿里云的Docker镜像源
echo "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
2. 再次更新包索引:
sudo apt-get update
3.安装Docker引擎
sudo apt-get install docker-ce docker-ce-cli containerd.io
1.手动下载GPG密钥
wget https://download.docker.com/linux/ubuntu/gpg -O docker.gpg
2.将GPG密钥添加到系统
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg docker.gpg
docker search torch1.13 WARNING: Error loading config file: /home/hxy/.docker/config.json: open /home/hxy/.docker/config.json: permission denied
权限问题:
/home/hxy/.docker/config.json文件权限问题。
- sudo chown $USER:$USER /home/hxy/.docker/config.json
- sudo chmod 644 /home/hxy/.docker/config.json
- sudo rm -rf /home/hxy/.docker/config.json
- mkdir -p /home/hxy/.docker
- echo '{}' | sudo tee /home/hxy/.docker/config.json
- sudo chown $USER:$USER /home/hxy/.docker/config.json
- sudo chmod 644 /home/hxy/.docker/config.json
重启Docker服务以确保配置文件生效:
sudo systemctl restart docker
docker pull hello-world

如果不存在/etc/docker/daemon.json这个配置文件,可以直接使用下面的命令:
- # 创建目录
- sudo mkdir -p /etc/docker
- # 写入镜像配置
- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": [
- "https://docker.m.daocloud.io",
- "https://dockerproxy.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://docker.nju.edu.cn"
- ]
- }
- EOF
- # 重启docker服务
- sudo systemctl daemon-reload
- sudo systemctl restart docker
如果已经存在/etc/docker/daemon.json这个配置文件,手动复制下面的镜像地址加如到配置中:
- "registry-mirrors": [
- "https://docker.m.daocloud.io",
- "https://dockerproxy.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://docker.nju.edu.cn"
- ]
别忘记重启Docker服务:
- # 重启docker服务
- sudo systemctl daemon-reload
- sudo systemctl restart docker
检验是否安装成功:
docker info

首先,更新包列表并清理可能导致冲突的旧包或未完成的安装:
- sudo apt-get update
- sudo apt-get clean
- sudo apt-get autoremove
尝试单独安装nvidia-container-toolkit-base,以便查看更详细的依赖关系信息:
sudo apt-get install nvidia-container-toolkit-base
这一步安装成功之后,再尝试安装 nvidia-container-toolkit:
sudo apt-get install nvidia-container-toolkit
如果仍然有依赖关系问题,尝试修复它们:
sudo apt-get -f install
如果上述步骤无法解决问题,可以尝试逐步安装所有相关的包。
1.添加NVIDIA Docker存储库(如果还未添加):
- distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
- && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
- && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
2.更新包列表
sudo apt-get update
3. 安装所需的包:
- sudo apt-get install nvidia-container-runtime
- sudo apt-get install nvidia-container-toolkit-base
- sudo apt-get install nvidia-container-toolkit
- sudo apt-get install nvidia-docker2
4. 重启Docker守护进程:
sudo systemctl restart docker
sudo systemctl restart docker