Host Docker Registry in Synology, The Working Way

In most cases, you can just push your image to Docker Hub. But for some reasons like images for work or something, you can’t open your image to public. In that case, you need a Docker Registry.

This article will help you to run a Docker Registry with your Synology NAS.

Before we start, prepare these things

  1. Synology NAS that can operate Docker Package (From Synology)
    16-series:     RS18016xs+, RS2416+, RS2416RP+, DS916+, DS716+II, DS716+, DS216+
    15-series:     RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, RS815+, RS815RP+, DS415+
    14-series:     RS3614xs+, RS3614xs, RS3614RPxs, RS2414+, RS2414RP+, RS814+, RS814RP+
    13-series:     DS2413+, RS10613xs+, RS3413xs+, DS1813+, DS1513+, DS713+
    12-series:     DS3612xs, RS3412xs, RS3412RPxs, RS2212+, RS2212RP+, DS1812+, DS1512+, RS812+, RS812RP+, DS412+, DS712+
    11-series:     DS3611xs, DS2411+, RS3411xs, RS3411RPxs, RS2211+, RS2211RP+, DS1511+, DS411+II, DS411+
    10-series:     DS1010+, RS810+, RS810RP+, DS710+
  2. Docker Quickstart Terminal for Windows (Using Hyper-V? Check this article!)
  3. SSH Terminal (like PuTTY)
  4. DDNS address

For first, Install Docker package. Docker Package is in Utility tab.

Run Docker, and click Registry tab. Then search registry.

Double-click registry, and scroll tag combobox to the very bottom. Don’t use latest because it’s actually not ‘latest’ but some old one.

Click Image tab. Double-click registry:(Selected Version). Put name and local port to use as you want.

Just click next on Step 2, and click Advanced Settings on Summary stage. Mount some folder to save images as /tmp/registry-dev, /tmp/registry/, /var/lib/registry. It’s version specific that what path is the real saving path among three of them. Be sure to uncheck Read-Only checkbox.

Connect to NAS with SSH, and push vi /var/packages/Docker/scripts/start-stop-status to open setting file, and push /#start docker to search.
Then press i to change to insert mode. Change “${DockerBin}” -d &
To “${DockerBin}” –insecure-registry (My DDNS address):(Port set on Step 1) -d &

Press ESC key to quit insert mode. Press :wq and enter to close vi.

After these operations with SSH, Go to Package Center and restart Docker Package.

Lastly, click Container tab and start your registry container.

Unfortunately you only can pull your pushed images through SSH on your Synology NAS. Synology DSM 5.x can’t communicate properly with latest insecure registries.

2 comments on “Host Docker Registry in Synology, The Working Way

  1. Sorry, but I don’t really understand what the following means. It seems like a lot of that text has become scrambled. Are you suggesting to change something in the start-stop-status file? What does ‘push’ mean in that context? It’s quite confusing.

    —–
    Connect to NAS with SSH, and push vi /var/packages/Docker/scripts/start-stop-status to open setting file, and push /#start docker to search.
    Then press i to change to insert mode. Change “${DockerBin}” -d &
    To “${DockerBin}” –insecure-registry (My DDNS address):(Port set on Step 1) -d &

    Press ESC key to quit insert mode. Press :wq and enter to close vi.
    —–

  2. Hi – regarding my previous comment. I managed to work around it by configuring my client, but I still think the text might benefit from some rewording.

    Thanks for posting this though – it got my 90% of the way there

Leave a Reply

Your email address will not be published. Required fields are marked *