我是 Ubuntu 新手,尝试按照此方法在 Ubuntu 15.04 上安装 docker关联。
我尝试了很多次但总是出现同样的错误:
docker-engine : Depends: libdevmapper1.02.1 (>= 2:1.02.99) but
2:1.02.90-2ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
答案1
您已安装 Vivid,并且 Wily 中提供了所需版本 (2:1.02.99) 的必要软件包。因此请使用 Vivid 版本的 docker。/etc/apt/sources.list.d/docker.list
通过以下方式编辑
sudo nano /etc/apt/sources.list.d/docker.list
并将内容替换为
deb https://apt.dockerproject.org/repo ubuntu-vivid main
然后更新包数据库
sudo apt-get update
这也是可能的在 Vivid 中安装软件包
cd
wget http://mirrors.kernel.org/ubuntu/pool/main/l/lvm2/dmsetup_1.02.99-1ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/l/lvm2/libdevmapper1.02.1_1.02.99-1ubuntu1_amd64.deb
sudo dpkg -i dmsetup_1.02.99-1ubuntu1_amd64.deb libdevmapper1.02.1_1.02.99-1ubuntu1_amd64.deb
如果你在使用软件包时遇到问题,可以通过以下方式降级
sudo apt-get install libdevmapper1.02.1=2:1.02.90-2ubuntu1 dmsetup=2:1.02.90-2ubuntu1
在我的 Vivid 系统中进行了测试
% apt-cache policy libdevmapper1.02.1
libdevmapper1.02.1:
Installed: 2:1.02.99-1ubuntu1
Candidate: 2:1.02.99-1ubuntu1
Version table:
*** 2:1.02.99-1ubuntu1 0
100 /var/lib/dpkg/status
2:1.02.90-2ubuntu1 0
500 http://archive.ubuntu.com/ubuntu/ vivid/main i386 Packages
答案2
请从您的系统中彻底删除 docker-engine。
apt-get 删除 docker 引擎
按照以下设置。要检查当前内核版本,请打开终端并使用 uname -r 显示内核版本:
$ uname -r
3.11.0-15-generic 安装推荐的包。
$ sudo apt-get 安装 linux-image-extra-$(uname -r)
更新你的 APT 包索引。
$ sudo apt-get 更新
安装 Docker。
$ sudo apt-get 安装 docker-engine
启动 docker 守护进程。
$ sudo 服务 docker 启动
验证docker是否安装正确。
$ sudo docker 运行 hello-world
对于 15.04 及更高版本,要将 docker 守护进程配置为在启动时启动,请运行
$ sudo systemctl 启用 docker
答案3
我尝试了所有其他答案的组合,最终解决了我的问题
sudo apt-get install docker.io