Ubuntu安装Docker

本文档记录了在Ubuntu系统中卸载旧版Docker,设置阿里云仓库,安装Docker及Nvidia-Docker的详细过程,包括遇到的GPG密钥添加失败和安装Docker时的问题及其解决方案。最终成功安装并测试了Nvidia-Docker。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、卸载旧版本

$ sudo apt-get remove docker docker-engine docker.io containerd runc

二、设置仓库

1、安装依赖包

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

2、添加 Docker 的官方 GPG 密钥

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

很不幸,这一步失败了:

curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"

 of Certificate Authority (CA) public keys (CA certs). If the default

 bundle file isn't adequate, you can specify an alternate file

 using the --cacert option.

If this HTTPS server uses a certificate signed by a CA represented in

 the bundle, the certificate verification probably failed due to a

 problem with the certificate (it might be expired, or the name might

 not match the domain name in the URL).

If you'd like to turn off curl's verification of the certificate, use

 the -k (or --insecure) option.

gpg: 找不到有效的 OpenPGP 数据。

 解决办法:

浏览器中下载gpg文件。https://download.docker.com/linux/ubuntu/gpg

把下载得到的gpg文件拷贝到Ubuntu的docker目录 ~/share/software/docker/

执行命令添加key:

$ sudo apt-key add gpg

验证指纹:

$ sudo apt-key fingerprint 0EBFCD88

3、设置稳定版仓库

$ sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

三、安装 Docker Engine-Community

$ sudo apt-get update
$ 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 找到任何软件包

解决办法:

把仓库设置成阿里云仓库。(我的/etc/apt/source.list配置的是阿里云源)

$ sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

再次执行,安装成功。

$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

四、测试

$ sudo docker run hello-world

五、安装Nvidia-Docker

安装Nvidia-Docker之前需要安装Cuda    照着官方文档安装Nvida-Docker

步骤如下:

# 卸载老版本

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f

sudo apt-get purge -y nvidia-docker


# 把地址添加到仓库

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \

  sudo apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \

  sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update


# 安装nvdia-docker

sudo apt-get install -y nvidia-docker2

sudo pkill -SIGHUP dockerd


# 用官方最新cuda测试
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

最后一步成功,就会显示如下类似画面:

、小结

小结一下,就是照着官方文档Ubuntu Docker 安装 | 菜鸟教程的“手动安装”,

解决了如下两个失败:

1、添加 Docker 的官方 GPG 密钥失败

2、安装 Docker Engine-Community失败

安装就介绍到这里,如果要进一步了解docker 基本操作。请看docker的常用操作

当您遇到 `E: 软件包 docker-ce 没有可安装候选` 错误时,这意味着您的系统未能找到可用的 Docker CE 包进行安装。这种情况通常是由于 APT 源配置不当或缓存未及时更新等原因引起的。 ### 解决方案步骤: #### 1. **确保 Docker 官方源已正确添加** 首先,确认您已经在系统的 APT 源列表中正确地加入了 Docker 的官方仓库地址。如果您使用的是国外的源,考虑到网络状况不佳的问题,推荐改为国内的镜像站(例如阿里云)。以下是加入阿里云 Docker CE 源的具体操作方法: ```bash # 删除旧版本Docker(如果有) sudo apt-get remove --purge docker docker-engine docker.io containerd runc # 设置稳定版存储库 echo "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 添加GPG key(如果是新添加的源) curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - ``` #### 2. **更新APT包索引** 在添加完新的软件源之后,请记得通过下面这条命令刷新本地缓存,以便让系统识别最新的包信息: ```bash sudo apt-get update ``` #### 3. **清理并重置APT缓存** 有时候,过期或损坏的包缓存也可能会导致此类问题的发生。我们可以尝试清除现有缓存后再重新构建一个新的干净环境: ```bash sudo apt-get clean all sudo rm -rf /var/lib/apt/lists/* sudo mkdir -p /var/lib/apt/lists/partial sudo apt-get update && sudo apt-get upgrade ``` #### 4. **查看是否有可用版本** 接下来检查是否已经有可用于当前系统的 Docker 版本: ```bash apt-cache policy docker-ce ``` 若显示结果中有具体的版本号,则说明现在是可以顺利安装了。 #### 5. **正式安装Docker CE** 最后就可以放心大胆地去装它啦! ```bash sudo apt-get install -y docker-ce docker-ce-cli containerd.io ``` ### 注意事项: - 在执行所有命令前最好先备份重要数据以防万一; - 若仍然存在问题请核对Linux发行版以及其代号是否与所使用的APT源相匹配; - 对于某些特殊的企业级Ubuntu衍生版本可能还需要额外处理才能正常使用社区贡献者的PPA。 --- 希望以上指导可以帮助您顺利完成 Docker CE安装!如有疑问欢迎随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值