如何在运行Ubuntu 12.04的32位机器上安装Docker?

21
我按照 Docker安装文档 在我的机器上进行了安装,我的机器是运行Ubuntu 12.04的32位机器。
步骤:
$ sudo apt-get install docker-engine

失败,表示

E: Unable to locate package docker-engine

它应该已经被安装了,对吧?

我也得知,Docker目前仅支持64位平台。

$ wget -qO- https://get.docker.io/ | sh
Error: you are not using a 64bit platform.
Docker currently only supports 64bit platforms.
有没有一种方法可以在32位机器上安装并使其工作?
6个回答

45
这是现在可以通过简单的脚本实现的,你可以使用https://gitlab.com/docker-32bit/ubuntu。在我的Ubuntu 16.04 32位系统上完美运行。我用它来为我的Nextcloud安装Collabora Online办公服务器。
wget https://gitlab.com/docker-32bit/ubuntu/raw/master/build-image.sh
# for Debian, use one of:
# wget https://gitlab.com/docker-32bit/debian/raw/armhf/build-image.sh
# wget https://gitlab.com/docker-32bit/debian/raw/i386/build-image.sh

sudo bash build-image.sh
docker -v
# Docker version 1.13.1, build 092cba3
    
sudo docker pull collabora/code
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=my\\.domain\\.com' --restart always --cap-add MKNOD collabora/code

2020年12月更新

看起来在Debian 10 Buster上,sudo apt install -y docker.io可能会安装一个32位兼容的Docker版本。我没有亲自测试过,但John Smith证实了这一点。



3
这是一个用于构建32位Ubuntu Docker镜像的脚本,而不是构建Docker以在32位系统上运行。原帖作者(和我)想知道如何在32位Ubuntu(或其他)系统上安装Docker本身,但似乎不受支持。 - marsbard
2
这确实可以在32位系统上安装和运行,就像我在我的答案中所说的那样。我使用它在我的32位Ubuntu上拥有docker。 - MS Berends
3
希望我能点赞100次!这对我很有用,我在一台旧的薄客户端上运行Ubuntu 18.04 32位操作系统,并成功地将hass.io docker安装在上面。 - Chuck Claunch
3
在最新的Debian 10 Buster安装中确认。您不需要运行整个脚本。sudo apt install -y docker.io 安装了一个32位兼容的docker。 - John Smith
2
确认 "sudo apt install -y docker.io" 没问题,但要安装 18.09.1 版本,而不是最新版。 - Migio B
显示剩余5条评论

13

根据先决条件:

无论您的Ubuntu版本如何,Docker都需要64位安装。此外,您的内核必须至少为3.10。最新的3.10次要版本或更新的维护版本也可以接受。

您将无法在32位平台上安装Docker。

更新:

可以。请参见本同一线程中来自MS Berends的答案


这是关于Docker的最初问题之一:https://github.com/docker/docker/issues/136 - michael_bitard
当然,但如果你使用的是Linux系统,升级到x64操作系统不是更容易吗?这比试图在32位平台上强制运行64位软件要容易得多。 - GHETTO.CHiLD
3
我该怎么做?据我所知,这取决于硬件。 - Hussain
3
这个答案不再应该被接受,因为有可能会有更好的答案 - 请参考 MS Berends 的回答。 - smat88dd
Docker不提供官方32位支持,同时在64位容器中运行32位应用程序也不是问题的关键。从17.04开始,Docker将不会在现代操作系统上编译,因为它们正在放弃32位支持。有黑客技巧吗?当然有。但是不要期望它像在本机架构中那样运行。这个答案仍然是正确的。 - GHETTO.CHiLD
不,这并不正确。问题是“如何安装”,而不是“官方是否支持”。此外,你说“你将无法在32位平台上安装Docker”。现在已经证明这是不正确的 :) 我不需要因为被接受的答案而得到积分,但我想回复一下,因为我认为你的反驳是错误的。 - MS Berends

4

虽然这是一个旧问题,但我找到了一个简单的解决方案适用于当前(18.0.3)的docker-ce版本:https://github.com/mforkel/docker-ce-i386

README-i386.md的说明就足够了,但以下是简短的描述:

1)使用git clone获取存储库的本地版本

2)在我的情况下,我需要一个debian .deb文件,因此我在主文件夹中运行了ARCH=i386 DOCKER_BUILD_PKGS=debian-stretch make deb

3)当makescript完成后,您可以在./components/packaging/deb/debbuild/debian-stretch中找到您的deb文件

我没有对此版本进行广泛测试,但运行docker run hello-world时没有出现错误

编辑:现在我可以确认许多软件包都能正常工作。例如Portainer和Nextcloud。一些软件包是针对64位架构构建的,您必须自己构建容器,但对我来说没有任何问题


这个方法是可行的,但需要安装一些(可能是较旧的)版本的Docker。在Ubuntu上,首先需要运行sudo apt install docker.io,然后在构建docker-ce软件包之后,必须sudo apt remove docker.io,然后再安装已构建的deb软件包。 - Mark
为什么您需要旧版本的docker?我在编译代码之前卸载了所有docker包,而且它可以在没有docker环境的情况下编译。 - southz rgw
2
如果您查看Makefiles,它们使用docker build来构建Docker,因此除非您已经安装了某种类型的Docker,否则构建将失败。 - Mark
有一个构建选项可以在没有 Docker 的情况下进行构建。我收到了警告,要求打开该选项,但构建仍然成功了。 - southz rgw
你使用了哪个 build 选项 @southzrgw 来跳过 Docker 先决条件? - vulcan raven

3

0
现在,您可以使用以下命令进行安装:sudo apt install docker.io。安装过程中会显示许多Docker的安装信息,并且安装程序会询问您“是否要继续?”,您需要输入y。然后,安装将完成。现在,您可以使用以下命令检查:docker version。如果您只看到客户端部分,则需要键入sudo docker version。之后,您将看到客户端和服务器。

0

我在我的旧东芝双核笔记本电脑上使用Ubuntu 16.04,内存为2GB。

确认在这台旧机器上sudo apt install docker.io命令完美运行。它会安装docker 18.09.7版本。

尝试创建一个家庭VPS服务器。祈求好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接