目录
安装docker
作者遇到的问题1:安装docker
错误说明
解决方法:
作者遇到问题2:GPG密钥问题
问题说明
解决方法:
方法一:使用备用的GPG密钥服务器
方法二:使用国内镜像源
方法3:手动下载并安装GPG密钥
作者遇到的问题3:镜像拉取问题
问题说明
解决方案:
第一步:确认Docker配置文件权限
第二步:删除并重新创建Docker配置文件
第三步: 重启Docker服务
第四步:测试docker命令以确保问题解决
作者遇到的问题3:镜像无法拉取问题
解决方案
配置Docker镜像源
安装docker
作者遇到的问题1:安装docker
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
作者遇到问题2:GPG密钥问题
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密钥服务器
尝试使用其他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
方法3:手动下载并安装GPG密钥
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
作者遇到的问题3:镜像拉取问题
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
文件权限问题。
解决方案:
第一步:确认Docker配置文件权限
sudo chown $USER:$USER /home/hxy/.docker/config.json
sudo chmod 644 /home/hxy/.docker/config.json
第二步:删除并重新创建Docker配置文件
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服务
重启Docker服务以确保配置文件生效:
sudo systemctl restart docker
第四步:测试docker命令以确保问题解决
docker pull hello-world
作者遇到的问题3:镜像无法拉取问题
参考解决方案
解决方案
配置Docker镜像源
如果不存在/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