无法在 Debian Jessie 上安装 Docker

Cannot install Docker on Debian Jessie

尽管尝试使用 here 中描述的新 apt repo 的官方安装机制,以及 curl -fsSL https://get.docker.com/ | sh 路径,当我尝试 apt-get install docker-engine

我的版本是:

$ uname -a
Linux blah 4.5.5-x86_64-linode69 #3 SMP Fri May 20 15:25:13 EDT 2016 x86_64 GNU/Linux


$ lsb_release -c
Codename:       jessie

$ cat /etc/debian_version
8.5

$ cat /etc/apt/sources.list
deb http://ftp.uk.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ stable main
deb http://security.debian.org/ stable/updates main
deb-src http://security.debian.org/ stable/updates main
deb http://http.debian.net/debian wheezy-backports main

我的 /etc/apt/sources.list.d 中唯一的文件是 docker.list,其中包含:

deb https://apt.dockerproject.org/repo debian-jessie main

apt-cache policy docker-engine也没找到:

apt-cache policy docker-engine
N: Unable to locate package docker-engine

我该如何解决这个问题?

以根用户身份登录

$ sudo su

如果此文件不存在则创建:

# vi /etc/apt/sources.list.d/backports.list

将此添加为您的 backports.list

的内容
 deb http://http.debian.net/debian jessie-backports main

现在执行您的 apt-get 更新

# apt-get update

安装 CA 证书

 # apt-get install apt-transport-https ca-certificates

添加新的 GPG 密钥

# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

现在打开/etc/apt/sources.list.d/docker.list(不存在时创建)

# vi /etc/apt/sources.list.d/docker.list

添加为内容:

deb https://apt.dockerproject.org/repo debian-jessie main

再次执行您的更新:

# apt-get update

验证 APT 是否从正确的存储库中提取。

# apt-cache policy docker-engine

再次更新

# sudo apt-get update

安装Docker:

# sudo apt-get install docker-engine

启动 docker 守护程序。

# sudo service docker start

验证 docker 是否安装正确。

# sudo docker run hello-world

编辑您的 sources.list 并更改以下行:

deb http://http.debian.net/debian wheezy-backports main

deb http://ftp.debian.org/debian jessie-backports main

更新并安装 docker:

apt-get update
apt-get install docker.io

编辑

要安装 docker-engine 的特定版本,请从 here 下载 .deb 软件包,例如,最新版本是 docker-engine_1.9.1-0~jessie_amd64.deb:

wget https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.9.1-0~jessie_amd64.deb
sudo apt-get update
dpkg -i docker-engine_1.9.1-0~jessie_amd64.deb

也许你会得到一个错误,修复它 运行:

apt-get -f install
dpkg -i docker-engine_1.9.1-0~jessie_amd64.deb

您的 dpkg 架构可能正在使用 32bit。您可以使用以下方式检查:

dpkg --print-architecture

通过将amd64添加为外国架构来修复它:

dpkg --add-architecture amd64
dpkg --print-foreign-architectures

更新您的包裹清单并检查 docker-engine:

apt-get update
apt-cache policy docker-engine

来源:https://wiki.debian.org/Multiarch/HOWTO

大家好,我遇到了同样的问题,最近发现一个脚本可以自动执行 debian 8 中的 docker 安装过程。您可以在此处查看代码片段 (https://gist.github.com/frgomes/a6f889583860f5b330c06c8b46fa0f42)。感谢原始脚本创建者。

我在第 4 行添加此内容以删除 Docker 的旧版本(如果存在):

sudo apt-get remove docker docker-engine 

和第 7 行的几行:

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y

然后作为超级用户:

# chmod +x ./install-docker.sh
# sudo ./install-docker.sh

你得到最新的 docker 而不是 v 1.5-1:

# docker --version
Docker version 17.05.0-ce, build 89658be