我可以在基于 arm8 的 Synology Nas 上安装 Docker

Can I install Docker on arm8 based Synology Nas

我有一台 Synology Disk Station 118(貌似是用 Arm8 处理器)

在包管理器中搜索没有找到 Docker 包 我发现这个 article 但 Synology 软件包的 link 只有 X64 软件包,文章说 Docker 不适用于 Arm

但从各种文章看来确实如此 Docker 可从 arm8 平台获得

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

还有一个 link 非官方的

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

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

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

在 github 项目中 docker on arm 你可以在项目中阅读:

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

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

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

  1. https://download.docker.com/linux/static/stable/ . Choose the right version for your ARM chip, most likely aarch64 will be the one for your Synology NAS. You can use an old version https://download.docker.com/linux/static/stable/aarch64/docker-17.09.0-ce.tgz 下载静态 docker 二进制文件并试一试,尽管较新的版本也可以。
  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 运行 -d --network=host portainer/portainer:linux-arm64

请注意,由于 Linux 内核问题,您需要设置 存储驱动器 vfs、iptables 关闭、网桥关闭 。并且您需要 运行 docker 带有 --network=host 模式的容器。 这不是通常的,但由于 Synology NAS 内核限制,它是必需的。

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