Can I install Docker on arm8 based Synology Nas

Paul Taylor picture Paul Taylor · Sep 26, 2018 · Viewed 12k times · Source

I have a Synology Disk Station 118 (appears it is using Arm8 processor)

There is no Docker package found by searching within Package Manager I found this article but the link to Synology packages only has X64 packages and article says Docker does not work from Arm

But it does seem from various articles Docker is available from arm8 platforms

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

and there is a link to unofficial

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

but aren't these just containers rather than than the actual docker itself ?

So it is possible to install on my Synology Nas 118. This is required to test a docker file for my application.

Answer

P Leo picture P Leo · Nov 4, 2019

The answer is YES. Any ARM type of Synology NAS supports docker, not completely but it can be enough. Please follow the steps below to install docker/dockerd in ARM Synology NAS.

  1. Download static docker binary at 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 and give it a try, although newer versions could work too.
  2. tar xzvf /path/to/.tar.gz
  3. sudo cp docker/* /usr/bin/
  4. create the /etc/docker/daemon.json configuration file with the following configuration:
{
  "storage-driver": "vfs",
  "iptables": false,
  "bridge": "none"
}
  1. sudo dockerd &
  2. sudo docker run -d --network=host portainer/portainer:linux-arm64

Please note, you need to set storage drive vfs, iptables off, bridge off due to a Linux kernel problem. And you need to run docker container with --network=host mode. It is not usual, but it is necessary due to Synology NAS kernel limitations.

Or you can have a try with this automatic script: https://raw.githubusercontent.com/wdmomoxx/catdriver/master/install-docker.sh