【问题标题】:Can I install Docker on arm8 based Synology Nas我可以在基于 arm8 的 Synology Nas 上安装 Docker
【发布时间】:2018-09-26 14:23:32
【问题描述】:

我有一个 Synology Disk Station 118(似乎使用 Arm8 处理器)

在包管理器中搜索没有找到 Docker 包 我找到了这个article,但 Synology 包的链接只有 X64 包,文章说 Docker 不能在 Arm 上工作

但从各种文章中似乎确实可以从 arm8 平台获得 Docker

https://github.com/docker-library/official-images#architectures-other-than-amd64

还有非官方的链接

https://hub.docker.com/u/arm64v8/

但这些不只是容器而不是实际的 docker 本身吗?

因此可以安装在我的 Synology Nas 118 上。这是为我的应用程序测试 docker 文件所必需的。

【问题讨论】:

    标签: docker synology


    【解决方案1】:

    答案是肯定的。任何 ARM 类型的 Synology NAS 都支持 docker,虽然不完全支持,但已经足够了。 请按照以下步骤在 ARM Synology NAS 中安装 docker/dockerd。

    1. https://download.docker.com/linux/static/stable/ 下载静态 docker 二进制文件。为您的 ARM 芯片选择正确的版本,aarch64 很可能是您 Synology NAS 的版本。您可以使用旧版本 https://download.docker.com/linux/static/stable/aarch64/docker-17.09.0-ce.tgz 并试一试,尽管新版本也可以使用。
    2. tar xzvf /path/to/.tar.gz
    3. sudo cp docker/* /usr/bin/
    4. 使用以下配置创建/etc/docker/daemon.json 配置文件:
    {
      "storage-driver": "vfs",
      "iptables": false,
      "bridge": "none"
    }
    
    1. sudo dockerd &
    2. sudo docker run -d --network=host portainer/portainer:linux-arm64

    请注意,由于 Linux 内核问题,您需要设置 storage drive vfs, iptables off, bridge off。您需要使用 --network=host 模式运行 docker 容器。 这并不常见,但由于 Synology NAS 内核限制,这是必要的。

    或者你可以试试这个自动脚本: https://raw.githubusercontent.com/wdmomoxx/catdriver/master/install-docker.sh

    【讨论】:

    • 额外提示:将 dockerd 添加到 taskmanager 以在启动时运行并创建一个 docker 组并将您的用户添加到其中以使用 docker 而无需 sudo
    • 你可以很容易地用完 docker 的空间,因为默认的 dsm / mount 只有 2GB,为了防止这种情况,你可以在你的卷上创建一个 docker 文件夹,将它挂载到 /docker 并将其设置为数据-根:sudo mkdir -p /volume1/@Docker/libsudo mkdir /dockersudo mount -o bind "/volume1/@Docker/lib" /docker。然后在/etc/docker/daemon.json中设置data-root:{ "data-root": "/docker" }
    • 每当我运行第 6 步时,我都会收到 /bin/docker: /bin/docker: cannot execute binary file 知道如何通过它吗?
    • 非常感谢!链接版本 (docker-17.09.0-ce.tgz) 仍可在具有最新 DSM 的 Synology 220j 上运行。
    • @Eptin "为您的 ARM 芯片选择正确的版本"
    【解决方案2】:

    在 github proyect docker on arm 中,您可以在 proyect 中阅读:

     No official Docker images work on the ARM architecture because they contain binaries built for x64 (regular PCs).
    

    因此,如果您需要安装应用程序,您需要从应用程序中获取源二进制文件,并编译为架构 ARM。

    【讨论】:

    • 我尝试编译毫无意义我对 docker 一无所知,我正在为 Synology 寻找现有的 arm8 二进制文件
    • check 说 64 位架构。所以你不需要 docker over arm,只需为 64 位安装 docker
    • 它是 64 位,但 64 位 ARM 不是 64 位英特尔 :(
    • 查看这篇文章here,或许你可以运行一下
    猜你喜欢
    • 2023-03-15
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    相关资源
    最近更新 更多