Auteur Topic: The ultimate Docker for Synology NAS how to topic  (gelezen 4551 keer)

Offline aliazzz

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 98
  • -Ontvangen: 172
  • Berichten: 1.389
  • Yum yum brains...
The ultimate Docker for Synology NAS how to topic
« Gepost op: 17 december 2022, 21:29:26 »
Hoi allemaal,

Hierbij een handige hoe met Synology Docker om te gaan topic.
Als eerste: Synology Docker wijkt qua functionaliteit niks af van de standaard Command Line Interface (CLI) Docker variant. Synology heeft echter werk gemaakt om om de CLI een GUI heen te bouwen. De GUI is vrij compleet, maar zonder basiskennis over Docker vormt de GUI voor een beginneling vaak een obstakel. Dat komt omdat je via de GUI overdonderd wordt door het aantal opties en soms op het verkeerde been gezet wordt. Hoe stom dit ook klinkt, ik ervaar dit persoonlijk zo: dus voor een beginneling is de CLI (na inloggen via ssh) vaak toch ook een prima beginpunt waarbij de GUI later een welkome add-on is mits deze verfijnd alle CLI opties bevat.

Persoonlijk mis ik de geavanceerde optie om een docker compose file aan de GUI door te geven en deze uit te voeren. Om hier omheen te komen dan ook de volgende "manual".

Welnu, als je aan de gang wilt met docker zijn er prima manuals die je haarfijn uitleggen wat je met Docker kunt. Daarom zal je die info hier niet vinden. Echter in dit draadje probeer ik in het kort je een slimme CLI truc bij te brengen, waardoor werken met Docker op je NAS hopelijk nog veel fijner wordt middels de compose files.

Uitgangspunten;
Je NAS dient Synology Docker geinstalleerd te hebben (dus de zware hobbyist die zelfstandig Docker installeeert op zijn NAS wordt hier niet bedient). Ik gebruik het image "Jenkins/Jenkins:lts" als voorbeeld.

Stap 1) Zet de SSH inlog deur open van je NAS via Control Panel > Terminal & SMNP > Enable SSH Service.
NB. Als je klaar bent met alle stappen, Zet de je SSH deur weer dicht door het vinkje te verwijderen en apply te drukken.

Stap 2) Gebruik putty (of een andere telnet terminal) om in te loggen op de CLI interface van je NAS.

Stap 3) Navigeer in de CLI naar de Docker Directory op je Volume, bijvoorbeeld:

/volume1/docker

Stap 4) Maak een directory genaamd "jenkins" aan

mkdir jenkins

in de directory jenkins maak ik een directory data aan, het docker image vereist dit namelijk.

cd jenkins
mkdir data

In de jenkins directory plaatsen we ook een file genaamd "jenkins.yml" aan met de volgende inhoud;

version: '2.0'
services:
  jenkins:
    restart: always
    image: jenkins/jenkins:lts
    privileged: true
    user: root
    ports:
      - 8080:8080
      - 50000:50000     
    container_name: jenkins
    volumes:
      - ./data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/local/bin/docker

Als we de docker.yml file bestuderen lezen we dat dit een configuratie voor een dockercontainer instance van jenkins is.
De configuratie download het image: jenkins/jenkins:lts, en deze container instance zal jenkins heten.
Een tweetal poorten in de host (de fysiek NAS) namelijk 8080 en 50000 zijn intern doorverwezen naar poort  8080 en 50000 in het docker image. Een drietal volumes (fysieke host directories waarin de data die het image gebruiken zal) zullen worden aangemaakt voor deze instance. De directory data hebben we hiervoor aangemaakt, de overigen niet.
In deze fysieke data directory zal deze inhoud gezet worden zodat na stoppen van het container, de data bewaard blijft en weer gebruikt wordt na starten van de container.

Om de installatie van de container te starten voer je het volgende commando uit in de jenkins direcotory, waar de yml file ook te vinden is.
sudo docker-compose -f jenkins.yml up -d

Het leuke is nu dat als in de commandline "docker-compose" uigevoerd wordt, dat de aangemaakte docker instance zichtbaar wordt binnen de DSM Docker. Juist het correct aanmaken van een Docker Container via Synology Docker is in mijn beleving vaak "lastiger" dan het editten en aanroepen van een docker compose .yml file.

De commandline zal je op de hoogte houden van de voortgang van de installatie en nadat deze is afgerond, kan je in DSM het resulaat zien en eventueel "tweaken". 

Let op dat de yml file op dat moment dan andere settings bevat dan diegene die je hebt ingesteld via DSM.


Veel succes!
NAS;
Syno DS118 8TB DSM
Syno DS415+ 4*4TB SHR5 Btrfs, 8GB RAM DSM

ROUTER;
RT6600ax meshed 3x MR2200ac SRM

Homelab;
MicroK8s Kubernetes Cluster 3 nodes
CP - HP Proliant DL360 Gen9 2*XEON E5-2697A V4 256GB RAM, 20TB RAID5 SSD
WN - NUC Intel N5105 4x2.5Gbit, 32GB Ram, 1TB
WN - UGREEN DXP4800 Plus 64GB Ram, 24TB


 

Hoe software te instaleren op Synology DS211

Gestart door FoxBoard Overige software

Reacties: 3
Gelezen: 3047
Laatste bericht 02 mei 2011, 14:13:34
door Fox
remote access Synology DS211j

Gestart door Dominic HBoard FTP, NFS and Samba Server

Reacties: 6
Gelezen: 8277
Laatste bericht 23 september 2011, 00:40:14
door DAMA
Ontwikkelaar gezocht voor Synology Apps

Gestart door Telesys BVBABoard 3rd party apps integratie in DSM

Reacties: 0
Gelezen: 2825
Laatste bericht 03 november 2011, 09:14:41
door Telesys BVBA
Synology NAS komt uit de HDD slaapstand bij gebruik iMac!?

Gestart door steven079Board Synology DSM 5.1 en eerder

Reacties: 14
Gelezen: 6493
Laatste bericht 09 mei 2013, 09:21:04
door steven079
Synology Assistent maakt geen verbinding

Gestart door smul2Board Synology DSM 5.1 en eerder

Reacties: 4
Gelezen: 2431
Laatste bericht 04 maart 2013, 10:40:12
door Robert Koopman