DOCKER安裝錯誤 - libdevmapper1.02.1 (>= 2:1.02.99)

DOCKER安裝錯誤 - libdevmapper1.02.1 (>= 2:1.02.99)

根據docker安裝過程Ubuntu我遇到了一個問題:

kp@maas:~$ sudo apt install docker-engine
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 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.

任何人都有同樣的問題,也許知道如何解決這個問題?

/etc/apt/sources.list.d/docker.list 是否正確?

# Ubuntu Precise
deb https://apt.dockerproject.org/repo ubuntu-precise main
# Ubuntu Trusty
deb https://apt.dockerproject.org/repo ubuntu-trusty main
# Ubuntu Vivid
deb https://apt.dockerproject.org/repo ubuntu-vivid main
# Ubuntu Wily
deb https://apt.dockerproject.org/repo ubuntu-wily main

輸出:apt-cache策略docker-engine libdevmapper1.02.1

kp@maas:~$ apt-cache policy docker-engine libdevmapper1.02.1
docker-engine:
  Installed: (none)
  Candidate: 1.8.3-0~wily
  Version table:
     1.8.3-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.8.3-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.8.3-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
     1.8.3-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packag                                        es
     1.8.2-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.8.2-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.8.2-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
     1.8.2-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packag                                        es
     1.8.1-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.8.1-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.8.1-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
     1.8.1-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packag                                        es
     1.8.0-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.8.0-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.8.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
     1.8.0-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packag                                        es
     1.7.1-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.7.1-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.7.1-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
     1.7.1-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packag                                        es
     1.7.0-0~vivid 0
        500 https://apt.dockerproject.org/repo/ ubuntu-vivid/main amd64 Packages
     1.7.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Package                                        s
libdevmapper1.02.1:
  Installed: 2:1.02.90-2ubuntu1
  Candidate: 2:1.02.90-2ubuntu1
  Version table:
 *** 2:1.02.90-2ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
        100 /var/lib/dpkg/status
kp@maas:~$

答案1

您已新增儲存庫Ubuntu 發布。您的 Ubuntu 版本是 Vivid。因此透過以下方式糾正問題

sudo sed -i '/wily/d' /etc/apt/sources.list.d/docker.list
sudo sed -i '/trusty/d' /etc/apt/sources.list.d/docker.list
sudo sed -i '/precise/d' /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install docker-engine

答案2

您必須在 docker.list 中只有您的 Ubuntu 版本儲存庫。就我而言,我使用 Ubuntu Utopic,所以我的/etc/apt/sources.list.d/docker.list是:

# Ubuntu Utopic
deb https://apt.dockerproject.org/repo ubuntu-utopic main

答案3

另一種方法是指定您要安裝的版本。

查看所有可用的清單:

$ apt-cache policy docker-engine
docker-engine:
  Installed: (none)
  Candidate: 1.12.0-0~wily
  Version table:
     1.12.0-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     1.12.0-0~trusty 0
        500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
     1.12.0-0~precise 0
        500 https://apt.dockerproject.org/repo/ ubuntu-precise/main amd64 Packages
     1.11.2-0~wily 0
        500 https://apt.dockerproject.org/repo/ ubuntu-wily/main amd64 Packages
     ...

然後為您的 ubuntu 信任安裝特定的:

sudo apt-get install docker-engine=1.12.0-0~trusty

相關內容