Wie benutzt man Docker mit Synology
Synology ab DSM 6.0 kommt mit der Docker Engine. Zu finden ist die Docker App im Paket-Zentrum mit Eingabe docker im Suchfeld.
Docker ist eine schlanke Virtualisierungsanwendung, Tausende von Container erstellt von Entwickler aus der ganzen Welt können ausgeführt werden und sind auf dem bekannten Image-Repository, Docker Hub publiziert. Container Images können aus der Synology integrierten Docker App geladen und ausgeführt werden.
Wenn die Docker App im Paketzentrum nicht erscheint, wird die Synology DSM Version höchstwahrscheinlich nicht unterstützt.
Aufgrund der Hardware-Anforderungen wird Docker nur für Modelle mit Virtualisierungstechnik (VT-x) angeboten. Die in dieser Anleitung verwendeten Modelle sind RS818RP+, RS4018xs+ und DS218+ auf diesen Docker ausführbar ist.
Wie benutzt man Docker
Mit dem öffnen des Hauptmenu Symbol aus DSM findet sich das Icon für die Docker Engine die jetzt gestartet werden kann.
Docker öffnet den Überblick, hier sind die laufenden Container aufgeführt, die Anwendungen einschließlich zugewiesenem Speicher und CPU-Ressourcen, es ist jetzt noch kein Container gestartet.
Zusätzlich wird hier im folgenden die Docker Befehlszeile erläutert, diese alternativ für die Docker Console.
CLI Docker Command Running Container auflisten:
1 2 | docker ps |
Im Abschnitt Registrierung kann nach neuen Images gesucht werden (wie auf der offiziellen Website). Es können auch neue Repositories (zusätzlich zu den offiziellen) unter Einstellungen hinzugefügt werden.
CLI Das original Docker Command ist:
1 2 | docker search ubuntu-sshd |
Nachdem ein passendes Image (Abbild) gefunden wurde, in diesem Fall ein kleines Ubuntu 18.04 Dockerized SSH service Image, wird es mit einem Rechtsklick auf das Synology NAS herunterladen, am besten immer latest wählen. Alle Images sind schreibgeschützt und können mehrfach für weitere Container verwenden werden.
Das herunterladen kann einige Minuten in Anspruch nehmen, je nach grösse und download Bandbreite. Der Status beim herunterladen wird mit einem animierten Symbol dargestellt.
CLI Das Docker Command ist:
1 2 | docker pull rastasheep/ubuntu-sshd |
Unter Abbild befinden sich die heruntergeladenen Images die auf dem Synology NAS verfügbar sind. Es können neue Container mit dem Assistenten Angedockt, gestartet werden. Hinweis: über das Link Symbol öffnet sich die Docker Hub Seite zum Container mit nützlichen Informationen.
CLI Das Docker Command ist:
1 2 | docker images -a |
Nun auf Starten gehen um den Assistenten zu öffnen.
Auf Weiter um den Assistenten abzuschließen, und mit übernehmen den Container starten.
CLI Das Docker Command ist:
1 2 | docker run -d -P --name ubuntu rastasheep/ubuntu-sshd |
Der laufende Container ist jetzt im Abschnitt Container zu finden.
CLI Die vollständige Docker Ausgabe wie folgt:
1 2 3 4 5 6 7 8 9 | ~# docker pull rastasheep/ubuntu-sshd Using default tag: latest latest: Pulling from rastasheep/ubuntu-sshd a48c500ed24e: Pull complete Digest: sha256:1a4010f95f6b3292f95fb26e442f85885d523f9a0bb82027b718df62fdd0d9e9 Status: Downloaded newer image for rastasheep/ubuntu-sshd:latest ~# docker run -d -P --name ubuntu rastasheep/ubuntu-sshd 2f96bba413755a843c2758f818dbec56f0e163a232e1cb7c7c971034c62a8c98 |
Zurück in der Docker Übersicht sehen wir nun die Resourcen der gestarteten Container.
CLI Das Docker Command ist:
1 2 | docker ps -a |
Nun versuchen wir ein SSH-Terminal zum Container herzustellen. Dazu sehen wir im Abschnitt Container mit klick auf Details, auf welchem Port der SSH-Dienst horcht.
Im Überblick unter Port-Einstellungen finden wir bei Lokaler Port den gesuchten Wert, in diesem Fall ist es der Port 32789, die Port Adresse wird automatisch zugewiesen.
CLI Ermitteln der Port Adresse
1 2 3 | ~# docker port ubuntu 22 0.0.0.0:32789 |
Jetzt können wir PuTTY oder KiTTY öffnen und Verbinden uns mit der IP des Synology NAS und dem Port 32789 zum Container, für CLI Das Command wie folgt:
1 2 3 4 5 6 7 8 9 | ~# ssh -p 32789 root@10.127.52.77 The authenticity of host '[10.127.52.77]:32789 ([10.127.52.77]:32789)' can't be established. ECDSA key fingerprint is SHA256:YtTfuoRRR4qStSVA5UuxnGamA/dvf+djbIT2Y48IYD0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[10.127.52.77]:32789' (ECDSA) to the list of known hosts. root@10.127.52.77's password: Last login: Thu Sep 19 15:00:25 2018 from 172.18.0.1 root@rastasheep-ubuntu-sshd1:~# |
Anmelden mit root und dem Passwort root.
Die Docker Engine kann auch aus der Console genutzt werden, sofern das SSH Terminal unter DSM Systemsteuerung – SSH-Dienst aktiviert wurde.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | Commands: attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes Run 'docker COMMAND --help' for more information on a command. |
Die in diesem Artikel gezeigte Anwendung von Docker soll als einfaches Beispiel darstellen, wie Docker auf einem Synology NAS anwendbar ist, natürlich gibt es nützlichere Container Anwendungen, wie Websever für das Entwickeln von Webanwendungen bis hin zu kompletten Entwicklungsumgebungen, es existieren bereits unzählige Docker Images auf Docker Hub https://hub.docker.com, und weiteren Docker Registraren. Dabei fragt mach sich schon, ob der Aufwand zur Installation seiner Entwicklerumgebung wie Xamp oder LAMP überhaupt noch zweckmäßig ist. An dieser stelle sein noch erwähnt, das alle Daten die im Container gespeichert werden, auf einem persistenten Volumen gespeichert werden müssen, denn mit beenden des Containers sind sämtliche arbeiten verloren.
Auch gibt es weitere Artikel zur Anwendung von Docker hier im Think Tank Blog, am besten einfach docker ins Suchfeld oben eingeben.
Wie nützlich war dieser Beitrag?
Klicke auf einen Stern, um ihn zu bewerten!
Durchschnittliche Bewertung / 5. Stimmenanzahl:
Es tut mir leid, dass dieser Beitrag für dich nicht nützlich war!
Lass uns diesen Beitrag verbessern!
Vielen Dank für dein Feedback!