【问题标题】:How to install Docker on 32bit machine having Ubuntu 12.04?如何在具有 Ubuntu 12.04 的 32 位机器上安装 Docker?
【发布时间】:2016-10-25 15:57:11
【问题描述】:

我已按照docker installation doc 将其安装在我的机器上,这是一台运行 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 位机器上运行?

【问题讨论】:

    标签: docker ubuntu-12.04 32-bit


    【解决方案1】:

    现在这可能的,只需一个简单的脚本。你可以使用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 月更新

    sudo apt install -y docker.io 似乎只能在 Debian 10 Buster 上运行,并且会安装 32 位兼容的 Docker 版本。自己没有测试,但John Smith 证实了这一点。


    【讨论】:

    • 这是一个构建 32 位 ubuntu 的 docker 镜像的脚本,而不是构建 docker 以在 32 位系统上运行。 OP(和我)想知道如何在 32 位 ubuntu(或其他)系统上安装 docker,但似乎不受支持
    • 这确实在 32 位系统上安装和运行,就像我在回答中所说的那样。我用它在我的 32 位 Ubuntu 上安装 docker。
    • 希望我能投票 100 次!非常适合我在运行 Intel Atom 的旧瘦客户端上运行 Ubuntu 18.04 32 位。能够轻松启动 hass.io docker。
    • 确认全新 Debian 10 Buster 安装。您不需要运行整个脚本。 sudo apt install -y docker.io 安装一个 32 位兼容的 docker。
    • 确认“sudo apt install -y docker.io”没问题,但安装的是18.09.1版本,不是最新的
    【解决方案2】:

    根据先决条件:

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

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

    更新:

    这是可能的。查看MS Berends in this same thread的回答

    【讨论】:

    • 这是第一个 docker 问题:github.com/docker/docker/issues/136
    • 当然,但是升级到 x64 操作系统不是更容易,尤其是在您使用 linux 的情况下?这比试图强制 64 位软件在 32 位平台上运行要容易得多。
    • 我该怎么做? AFAIK 这取决于硬件
    • 这应该不再是公认的答案,因为它是可能的 - 请参阅 MS Berends 答案。
    • Docker 不提供官方的 32 但支持,也可以在 64 位容器中运行 32 但应用程序不是问题。从 17.04 开始,Docker 将不会在现代操作系统上编译,因为它们会移除 32 但支持。有黑客吗?当然。但不要期望它像在其本机架构中那样运行。这个答案仍然成立。
    【解决方案3】:

    虽然这是一个老问题,但我为 docker-ce 的当前 (18.0.3) 版本找到了一个简单的解决方案: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包。
    • 为什么需要旧版本的 docker?我在编译代码之前卸载了所有 docker 包,它在没有 docker 环境的情况下编译。
    • 如果您查看 Makefile,他们使用 docker build 来构建 docker,因此除非您已经安装了某种 docker,否则构建将失败。
    • 有一个构建选项可以在没有 docker 的情况下构建。我收到了打开该选项的警告,但无论如何构建成功
    • 您使用哪个构建选项@southzrgw 来跳过 docker 先决条件?
    【解决方案4】:

    有一些黑客行为,不受支持的方法,请参阅

    http://mwhiteley.com/linux-containers/2013/08/31/docker-on-i386.html

    请记住,之前的链接是 2013 年 8 月的,我不确定您是否能够使用最新版本的 docker 做同样的事情。

    【讨论】:

      【解决方案5】:

      现在,您可以使用此命令sudo apt install docker.io 进行安装。之后,你会看到很多安装Docker的行,安装程序会问你“你想继续吗?”,你需要输入y。然后,安装将完成。现在,您可以使用此命令docker version 进行检查。如果您只看到客户端部分,则需要输入 sudo docker version。在此之后,您将看到客户端和服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-21
        • 2014-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        相关资源
        最近更新 更多