命令“Docker-ce”列出所有候选
root@ubuntu:/home/master# apt-cache policy docker-ce
docker-ce:
Installed: (none)
Candidate: 5:19.03.6~3-0~ubuntu-xenial
Version table:
5:18.09.9~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
然后,当使用候选列表中的字符串值发出命令时失败
root@ubuntu:/home/master# sudo apt-get install docker-ce=18.03.1~ce~3-0~ubuntu-xenial docker-ce-cli=18.03.1~ce~3-0~ubuntu-xenial containerd.io
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '18.03.1~ce~3-0~ubuntu-xenial' for 'docker-ce' was not found
E: Version '18.03.1~ce~3-0~ubuntu-xenial' for 'docker-ce-cli' was not found
我怎样才能从列表中安装特定版本(该列表不完整,因为 Ask Ubuntu 不允许我粘贴超过 8 个链接)
我需要这个是因为最新版本 19.xx.xx 与 Kubernetes 不兼容/不支持,并且集群构建失败。
答案1
以下是有关如何安装所需 Docker 版本的答案:
更新 apt 软件包索引
sudo apt-get update
要安装特定版本的 Docker Engine - Community,请列出 repo 中的可用版本,然后选择并安装
apt-cache madison docker-ce
然后最后从列出的版本中选择要安装的版本
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu
这将对人们进入docker世界有很大帮助,尽情享受吧!
答案2
您双击了apt-cache
输出中的版本,希望将其全部选中。但至少将冒号视为选择的分隔符!因此,您丢失了版本的gnome-terminal
前导。5:
刚才被同样的问题难住了,这真是让我大吃一惊!我猜包版本中的冒号相当少见。
答案3
我来这里寻找一种从官方存储库中选择特定版本 docker-ce 的方法,同时能够使用 apt upgrade 来更新补丁版本。
这是我的解决方案:
# /etc/apt/preferences.d/docker
Package: docker-ce docker-ce-cli
Pin: version 5:24.0.*
Pin-Priority: 999
一些附加信息:
Package:
可以列出用空格分隔的多个数据包Pin:
来自官方docker存储库的数据包的版本号以5开头:,我不知道为什么Pin-Priority: 999
优先选择匹配的软件包,但如果由于某种原因已经安装了较新的版本,则不会降级它们。
看apt_preferences 命令了解更多信息。