Docker On Synology



Synology

  • Tags BitTorrent, Docker, DS918+, NAS, OpenVPN, Synology, Transmission ← How to Find and Build a Foreclosure List for Free → How to Automate Python Workflows in Prefect (Step-by-Step Guide) 114 replies on “How To Set Up Transmission through a VPN on a Synology NAS with Docker”.
  • Synology has limited Docker availability in the package manager to only some select models (models and links updated ) 21 series:DS1821+, DS1621xs+, DS1621+, DVA3221 20 series:FS6400, FS3.

How To Install Docker On Synology

1. Installation

# Synology DiskStation. The DiskStation by Synology (opens new window) is a famous NAS server solution for your home, allowing the installation of additional packages. We are proud to be able to provide an openHAB Synology package (opens new window). # Prerequisite - Install Java.

Simply find and install a Docker application from the Synology Package Center.

Note: If you do not find the application in your Package Center, your Synology is most probably not supported yet:

Due to the hardware requirement, Docker will be only available on the following models:
18 series: DS3018xs, DS918+, DS718+, DS218+
17 series: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617xs, RS3617RPxs, DS3617xs, DS1817+, DS1517+
16 series: RS18016xs+, RS2416+, RS2416RP+, DS916+, DS716+II, DS716+, DS216+II, DS216+
15-series: RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, RS815RP+, RS815+, DS415+
14-series: RS3614xs+, RS3614xs, RS3614RPxs, RS2414RP+, RS2414+, RS814RP+, RS814+
13-series: DS2413+, RS3413xs+, RS10613xs+, DS1813+, DS1513+, DS713+
12-series: DS3612xs, RS3412xs, RS3412RPxs, RS2212RP+, RS2212+, DS1812+, DS1512+, RS812RP+, RS812+, DS412+, DS712+
11-series: DS3611xs, DS2411+, RS3411xs, RS3411RPxs, RS2211RP+, RS2211+, DS1511+, DS411+II, DS411+
10-series: DS1010+, RS810RP+, RS810+, DS710+(source, last updated 09-29-2017)

2. How to use it?

When you start a Docker application, you will see an application menu on the left side:

  • Overview
  • Registry
  • Image
  • Container
  • Log

Overview

Here you will see your running containers, i.e. your running applications including allocated memory and CPU resources.

The real command in Docker:

Registry

On the registry page, you can search for new images (the same as on the official site). You can also add some new repositories (in addition to the official site) in Settings.

SynologyDocker

The real command in Docker:

After you found your image (e.g. ubuntu in our case), you should download it to your Synology. All Images are read-only and you can use them multiple times for more containers.

The real command in Docker:

Image

Here you will find images available on your Synology, ready to create new containers using a wizard or directly with a docker run command. You can usually find this command on the official page with an image.

The real command in Docker:

We use a long running process for creating a new container from a docker run command:

The Synology wizard checks your command for compatibility, not all docker run parameters are available for use.

  • Docker run supports the below parameters:
    • 'd', 'detach'
    • 'e', 'env'
    • 'link'
    • 'm', 'memory'
    • 'name'
    • 'P', 'publish-all'
    • 'p', 'publish'
    • 'privileged'
    • 'v', 'volume'
  • Docker run does not support the below parameters:
    • 'a', 'attach'
    • 'add-host'
    • 'c', 'cpu-shares'
    • 'cap-add'
    • 'cap-drop'
    • 'cidfile'
    • 'cpuset'
    • 'device'
    • 'dns'
    • 'dns-search'
    • 'entrypoint'
    • 'env-file'
    • 'expose'
    • 'h', 'hostname'
    • 'i', 'interactive'
    • 'lxc-conf'
    • 'net'
    • 'restart'
    • 'rm'
    • 'security-opt'
    • 'sig-proxy'
    • 't', 'tty'
    • 'u', 'user'
    • 'w', 'workdir'

Basically, your containers need to run as a daemon on your Synology (an opposite to run an interactive shell). It makes sense, you cannot run an interactive shell in your Synology Docker application in a web browser.

Back to our new ubuntu container (actually got name dummyUbuntu). The wizard offers to set more options, but we want to create a dummy container, so click Next, Next, Next.

Container

The dummyUbuntu container appears now on the Container page.

The real command in Docker (prints all containers including stopped):

Docker On Synology Arm

The last step is waiting for us: Run it.

When you double click on any container, a window with some more details about a running container appears.

Docker

You see some information about our dummyUbuntu container and capability to Start, Stop, Restart it.

Docker on synology

The real command in Docker:

You can see other information about a running container using the top menu.

The real command in Docker:

On the Log tab, you can see logs from your container (not automatically refreshed, maybe in the future with the parameter -f as available in the standard Docker client).

The real command in Docker:

The last tab Terminal shows output of a command used to run your container (in our case the dummy long running process: 'while true; do echo hello world; sleep 1; done' )

The real command in Docker:

Note: The docker attach command never starts a new instance of a shell, instead of that you will see an ongoing output of the first start command. For more alternatives, see the point 8 on page 10 Useful Docker Commands – Tips and Tricks.

Without a doubt, after installing several images on your Synology NAS using the Docker package, you are wondering how to update your containers quickly and easily. If you have installed Pi-Hole, AdGuard, Splunk,BitWarden, Reactive Resume, YouTube Downloader,Whoogle,JDownloader 2, HOOBS, Homebridge, Home Assistant, Jellyfin, Guacamole, Droppy, Plex, Calibre, Nginx Proxy Manager, Nextcloud, Heimdall, DokuWiki, BookStack, WordPress, FreshRSS, Netdata, FileZilla, Syncthing or the UniFi Controller by following the guides in this blog, you may need updates for your containers. Read on and find out how to update your image/container.

Update 8 January 2021 Install Watchtower to automatically update your Docker images/containers without any manual action.

If you want to Manually update your Docker Containers follow the steps below

Please Support My work by Making a Donation.

Open the Docker package and download the new latest image from the Registry tab, for example Pi-Hole, AdGuard etc.

When the download is complete, go to the Container tab and stop the container you are updating.

Next, select the container and, using the Action drop-down menu, select Clear (Container tab). The container will be removed from the list and recreated using the image you downloaded in STEP 2.

Start the new container. Once it loads, it is ready for use.

Note: If your configs are stored on your Synology NAS, they will be recognized, and the container should run as designated.
Note: You can also use Ouroboros to automatically update your Docker images/containers.

This post was updated on Monday / January 18th, 2021 at 12:12 AM