So verwenden Sie Docker, um eine Linux -Entwicklerumgebung für Synology NAS zu erstellen?

So verwenden Sie Docker, um eine Linux -Entwicklerumgebung für Synology NAS zu erstellen?

Sie können die offizielle App Virtual Machine Manager -App für Synology Virtual Machine verwenden, um eine virtuelle Maschine zu erstellen, jede Linux -Verteilung zu installieren und an Ihren Entwicklungsprojekten auf der virtuellen Maschine zu arbeiten. Sie können dasselbe in einem Docker -Container mit der offiziellen Synology Docker App tun. Obwohl es viel flexibler ist, sich auf einer virtuellen Maschine zu entwickeln, ist es eine virtuelle Maschine, eine virtuelle Maschine zu entwickeln (als virtuelle Maschine ist wie ein vollwertiger Computer), aber eine Menge Speicher- und Systemressourcen benötigt als ein Docker-Container.

Wenn Ihr Synology Nas nicht über genügend Speicher verfügt oder Sie nicht den Speicher Ihres Synology NAS aktualisieren möchten, können Sie Docker verwenden, um eine Linux -Entwicklungsumgebung für Ihre Synology NAS zu erstellen.

In diesem Artikel werde ich Ihnen zeigen, wie Sie ein benutzerdefiniertes Ubuntu 20 erstellen können.04 LTS Docker Image, erstellen Sie einen Container daraus, um eine Linux -Entwicklungsumgebung mit Docker auf Ihrem Synology NAS einzurichten und dort eine Remote -Entwicklung mit Visual Studio Code durchzuführen. Also lasst uns anfangen.

Dinge, die Sie brauchen werden

Um diesem Artikel zu folgen, müssen Sie:

  • Synologie -NAS mit mindestens 4 GB oder mehr installiertem Speicher
  • Docker App, die auf Ihrem Synology NAS installiert ist
  • Computer oder Laptop, um eine Verbindung zur Web -GUI der Synology NAS herzustellen
  • Internetverbindung auf Ihrem Synology NAS und Computer/Laptop

Wenn Sie Unterstützung bei der Installation der Installation benötigen Docker App über Ihre Synology NAS, dann können Sie den Artikel lesen Ausführen von Docker -Containern auf Synology Nas bei LinuxHint.com.

Erstellen eines gemeinsam genutzten Projekts

Ich möchte alle meine Projekte in einem separaten Ordner halten, um die Dinge organisiert zu halten. Ich werde also einen neuen gemeinsam genutzten Ordner erstellen Projekte Auf meiner Synologie nas. Wenn Sie noch keinen separaten Ordner haben, um Ihre Projekte zu behalten, können Sie dasselbe tun.

So erstellen Sie einen neuen gemeinsam genutzten Ordner Projekte, klicke auf Freigegebenen Ordner von dem Schalttafel App, wie im Screenshot unten markiert.

Klicke auf Erstellen > Erstellen, wie im Screenshot unten markiert.

Eintippen Projekte als Anteil Name und wählen Sie ein Speichervolumen aus, in dem Sie den gemeinsam genutzten Ordner aus dem erstellen möchten Standort Dropdown -Menü und klicken Sie auf Nächste, wie im Screenshot unten markiert.

Klicke auf Nächste.

Klicke auf Nächste.

Klicke auf Anwenden.

Satz Lesen Schreiben Berechtigungen für die Benutzer, die Sie auf die Freigabe zugreifen möchten, und auf klicken OK.

Ein neuer gemeinsamer Ordner Projekte sollte erstellt werden, wie Sie im Screenshot unten sehen können.

Aktivieren Sie den SSH -Zugriff auf Synology NAS

Um eine Entwicklungsumgebung in einem Docker -Container einzurichten, müssen Sie ein benutzerdefiniertes Docker -Image erstellen. Zum Zeitpunkt dieses Schreibens können Sie kein benutzerdefiniertes Docker -Image vom Beamten erstellen Docker App Ihrer Synologie -NAS mit a Dockerfile. Sie können jedoch ein benutzerdefiniertes Docker -Bild mit a erstellen Dockerfile Aus der Befehlszeile Ihrer Synology Nas.

Um auf die Befehlszeile Ihrer Synology NAS zuzugreifen, müssen Sie SSH aus dem aktivieren Schalttafel App.

Um das zu tun, öffnen Sie die Schalttafel App und navigieren zur Terminal & SNMP Abschnitt, wie im Screenshot unten markiert.

Überprüfen Aktivieren Sie den SSH -Service Kontrollkästchen und klicken Sie auf Anwenden, wie im Screenshot unten markiert.

SSH -Service sollte in Ihrem Synology NAS aktiviert sein.

Erstellen eines Ordners für das Containerbild

Erstellen wir einen speziellen Ordner in der Docker gemeinsamer Ordner, um die zu behalten Dockerfile Mit diesem wird ein benutzerdefiniertes Docker -Containerbild erstellt.

Öffnen Sie das Erstellen eines neuen Ordners, um die zu öffnen Dateistation App, wählen Sie die aus Docker Shared Ordner und klicken Sie auf Erstellen, wie im Screenshot unten markiert.

Klicke auf Ordner erstellen.

Eintippen Ubuntu-dev als Ordnername und klicken Sie auf OK.

Ein neuer Ordner Ubuntu-dev sollte in der erstellt werden Docker Shared Ordner, wie Sie im Screenshot unten sehen können.

Erstellen einer Dockerfile für das Containerbild

Erstellen Sie eine neue Datei Dockerfile im Ubuntu-dev/ Ordner und Geben Sie die folgenden Zeilen in der Dockerfile:

Von Ubuntu: 20.04
Führen Sie das APT -Update aus
Führen Sie passende Orte aus. Orte installieren
Führen Sie das Gebietsschema-General en_us aus.UTF-8
Update locale lang = en_us ausführen.UTF-8
Env Tz = Asien/Dhaka
Führen Sie ln -snf/usr/share/zoneInfo/$ TZ/etc/localtime && echo $ TZ>/etc/timezone aus
Führen Sie passende Tzdata -y aus
Run APT Installieren Sie OpenSSH-Server Sudo Bash-Completion Tree Git -y
Führen Sie userAdd -m -d /home /shovon -s /bin /bash -g sudo shovon aus
Run Echo 'Shovon: Secret' | Chpasswd
Service SSH Start ausführen
22 entdecken
Cmd ["/usr/sbin/sshd", "-d"]

Sobald Sie fertig sind, speichern Sie die Dockerfile.

Hier fordert Zeile 1 Docker auf, das offizielle Docker Hub -Bild zu verwenden Ubuntu: 20.04, Als Basis für das benutzerdefinierte Docker -Bild.

Zeile 3 aktualisiert den APT -Paket -Repository -Cache oben im Basisbild.

Zeile 4-6 Konfiguriert die Gebietsschemaeinstellungen für das Bild. Ich setze es auf en_us.UTF-8 In diesem Fall können Sie es jedoch in ein anderes Gebietsschema ändern, wenn Sie möchten.

Zeile 8-10 Konfiguriert die Zeitzone für das Bild. Ich setze es auf Asien/Dhaka. Ersetzen Sie es durch Ihre gewünschte Zeitzone.

Zeile 12 installiert den OpenSSH-Server, Git, Sudo, Bash-Fertigstellung und das Befehlszeilen-Dienstprogramm für Baum an der Basisbild.

Zeile 14-15 erstellt einen neuen Benutzer Shovon, Sets /Home/Shovon Als Home -Verzeichnis für den Benutzer setzt setzt /Bin/Bash Als Anmeldeschale für den Benutzer fügt der Benutzer dem hinzu sudo Gruppe und legt das Anmeldekennwort fest Geheimnis Für den Benutzer.

Sie möchten einen Benutzer mit einem anderen Namen erstellen, ein anderes Home -Verzeichnis festlegen und ein anderes Passwort festlegen. Ändern Sie also den Anmelde -Benutzernamen, das Passwort und den Heimverzeichnisspfad nach Bedarf.

Zeile 17-19 startet den SSH-Dienst und enthält den SSH-Port 22 standardmäßig.

SSH in die Synology Nas

Sobald Sie den SSH -Service aktiviert haben, können Sie SSH in den Synology NAS von Ihrem Computer aus.

Öffnen Sie ein Terminal auf Ihrem Computer und führen Sie den folgenden Befehl aus:

$ SSH [email protected]

NOTIZ: Hier, Shovon ist der Anmelde -Benutzername und 192.168.0.110 ist die IP -Adresse meiner Synology Nas. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihre ersetzen.

Wenn Sie zum ersten Mal über SSH auf die Synology NAS zugreifen, sehen Sie die folgende Eingabeaufforderung.

Eintippen Ja und drücke weitermachen.

Geben Sie Ihr Anmeldekennwort ein und drücken Sie.

Sie sollten über SSH in Ihre Synologie -NAS angemeldet werden, wie Sie im Screenshot unten sehen können.

Erstellen eines benutzerdefinierten Docker -Images für die Entwicklung

Wir haben eine geschaffen Dockerfile im Ubuntu-dev/ Ordner der Docker freigegebenen Ordner. Wie Sie sehen können, die Docker Der gemeinsame Ordner wird in erstellt in Band 4 Ihrer Synology Nas.

Also navigieren Sie zur /Volume4 Ordner aus der Befehlszeile Ihrer Synology NAS.

$ CD /Volume4

Der Docker Der gemeinsame Ordner sollte in der sein /Volume4 Ordner, wie Sie im Screenshot unten sehen können.

$ ls

Navigieren zum Docker/ Ordner.

$ cd docker/

Sie sollten das finden Ubuntu-dev/ Ordner hier, den Sie früher erstellt haben, wie Sie im Screenshot unten sehen können.

$ ls

Navigieren zum Ubuntu-dev/ Ordner.

$ cd ubuntu-dev/

Sie sollten das finden Dockerfile Sie haben im früheren Abschnitt dieses Artikels hier erstellt, wie Sie im Screenshot unten sehen können.

So erstellen Sie ein benutzerdefiniertes Docker -Bild Synology-dev/Ubuntu: 20.04 von dem Dockerfile, Führen Sie den folgenden Befehl aus:

$ sudo docer Build -t Synology -dev/Ubuntu: 20.04 .

Geben Sie das Anmeldekennwort Ihrer Synologie -NAS ein und drücken Sie .

Ein benutzerdefiniertes Docker -Bild wird erstellt. Es kann eine Weile dauern, bis es fertig ist.

Ein benutzerdefiniertes Docker -Bild wird erstellt.

Ein benutzerdefiniertes Docker -Bild wird erstellt.

Ein benutzerdefiniertes Docker -Bild wird erstellt.

Zu diesem Zeitpunkt ein benutzerdefiniertes Docker -Bild Synology-dev/Ubuntu: 20.04 sollte erstellt werden.

Einmal das benutzerdefinierte Docker -Bild Synology-dev/Ubuntu: 20.04 wird erstellt, öffnen Sie die Docker App aus der Web -GUI Ihrer Synology NAS.

Der Docker App sollte geöffnet werden.

Im Bild Abschnitt der Docker App, Sie sollten das benutzerdefinierte Docker -Bild finden Synology-dev/Ubuntu: 20.04, Was Sie gerade erstellt haben, wie Sie im Screenshot unten sehen können.

Erstellen eines Ubuntu 20.04 LTS -Entwicklungsbehälter

So erstellen Sie einen neuen Container mit dem benutzerdefinierten Docker -Bild Synology-dev/Ubuntu: 20.04, Wählen Sie es aus und klicken Sie auf Start von dem Bild Abschnitt der Docker App, wie im Screenshot unten markiert.

Geben Sie in a ein Containername.

Ich werde es nennen S01. Sie können es so nennen, wie Sie wollen.

Klicke auf Erweiterte Einstellungen, wie im Screenshot unten markiert.

Überprüf den Aktivieren Sie Auto-RESTART Kontrollkästchen aus dem Erweiterte Einstellungen Tab der Erweiterte Einstellungen Fenster.

Navigieren zum Volumen Tab der Erweiterte Einstellungen Fenster.

Um das hinzuzufügen Projekte Klicken Sie auf den gemeinsamen Ordner (den Sie im früheren Abschnitt dieses Artikels zum Speichern aller Projektdateien erstellt haben) Ordner hinzufügen, wie im Screenshot unten markiert.

Wähle aus Projekte Shared Ordner aus der Liste und klicken Sie auf Wählen.

Ein neuer Eintrag sollte hinzugefügt werden, wie Sie im Screenshot unten sehen können.

Geben Sie den Pfad ein, auf dem Sie die montieren möchten Projekte gemeinsamer Ordner in Ihrem Container.

Ich werde die montieren Projekte gemeinsamer Ordner im Pfad /Home/Shovon/Projekte.

Navigieren zum Porteinstellungen Registerkarte aus dem Erweiterte Einstellungen Fenster.

Geben Sie in die ein Lokaler Hafen Nummer 2222 für die Containerport Nummer 22, wie im Screenshot unten markiert.

Sobald Sie fertig sind, klicken Sie auf Anwenden.

Klicke auf Nächste.

Klicke auf Anwenden.

Ein neuer Behälter S01 sollte erstellt werden, wie Sie in der sehen können Container Abschnitt der Docker App.

Fixierung von Projekten für gemeinsame Ordner für den Container reparieren

Jetzt müssen Sie SSH in den Docker -Container S01 und reparieren Sie Berechtigungen für Ihre Projekte freigegebenen Ordner.

Sie können SSH in den Docker -Container SSH S01 Von Ihrem Computer mit dem folgenden Befehl:

$ ssh -p 2222 [email protected]

NOTIZ: Hier, Shovon ist der Anmeldeberenname des Docker -Containers. 192.168.0.110 ist die IP -Adresse Ihrer Synologie NAS und 2222 ist die weitergeleitete Portnummer des Docker -Containers. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihre ersetzen.

Wenn Sie sich mit dem Docker -Container verbinden S01 Zum ersten Mal sehen Sie die folgende Eingabeaufforderung.

Eintippen Ja und drücke .

Geben Sie das Anmeldekennwort ein (Geheimnis, in meinem Fall) Ihres Docker -Containers S01 und drücke .

Sie sollten in den Docker -Container angemeldet sein S01 Über SSH, wie Sie im Screenshot unten sehen können.

Um den Eigentümer und die Gruppe aller Dateien und Ordner Ihrer zu ändern Projekte Shared Ordner an den Login -Benutzer und die Gruppe des Docker -Containers S01, Führen Sie den folgenden Befehl aus:

$ sudo chown -rfv $ (whoami): $ (whoami) ~/projects

NOTIZ: Ich habe die montiert Projekte gemeinsamer Ordner in der ~/Projekte Ordner des Docker -Containers S01. Sie haben es vielleicht woanders montiert. Stellen Sie also sicher, dass Sie den Verzeichnispfad von nun an durch Ihre ersetzen.

Der Eigentümer und die Gruppe aller Dateien und Verzeichnisse der Projekte Der Shared -Ordner sollte in den Anmeldemutzer und die Gruppe des Docker -Containers geändert werden S01.

Stellen Sie nun die richtigen Berechtigungen für die Projekte gemeinsamer Ordner in der montiert ~/Projekte Ordner des Docker -Containers S01 mit dem folgenden Befehl:

$ sudo chown -rfv 775 ~/projects

Die richtigen Datei- und Verzeichnisberechtigungen für die Projekte Der gemeinsame Ordner sollte eingestellt werden.

Remote -Entwicklung auf dem Container mit Visual Studio -Code einrichten

Visual Studio -Code unterstützt nativ die Fernentwicklung. Sie können Visual Studio -Code auf einem Computer (Windows/Linux/macOS) installieren und eine Verbindung zum Docker -Container herstellen lassen S01 Laufen Sie auf Ihrer Synology NAS über SSH und führen dort Ihre Entwicklungsprojekte aus der Ferne durch. Ihr Computer und die Synology NAS müssen im selben Netzwerk sein, damit dies funktioniert.

Lassen Sie uns sehen, wie man eine Fernentwicklung im Docker -Container durchführt S01 Ausführen auf dem Synology NAS mithilfe von Visual Studio Code.

Starten Sie den Visual Studio -Code -Editor auf Ihrem Computer. Ich verwende Visual Studio -Code auf meinem Windows 10 -Computer.

Jetzt müssen Sie die installieren Fernentwicklung Erweiterung auf Visual Studio -Code Für die Fernentwicklung.

So installieren Sie die Fernentwicklung Erweiterung klicken Sie auf die Erweiterungen Symbol, suchen Sie nach dem Fernentwicklung Erweiterung, klicken Sie auf Fernentwicklung, und klicken Sie auf Installieren, wie im Screenshot unten markiert.

Der Fernentwicklung Die Erweiterung sollte installiert werden.

Einmal der Fernentwicklung Die Erweiterung ist installiert. Sie sollten das folgende Icon () in der unteren linken Ecke des Visual Studio Code sehen, wie im Screenshot unten markiert.

Um den Docker -Container hinzuzufügen S01 Wenn Sie auf Ihrem Synology NAS zum Visual Studio -Code für Remote -Entwicklung ausgeführt werden, klicken Sie auf das Remote -Entwicklungssymbol .

Klicke auf Remote-SSH: Das aktuelle Fenster an Host anschließen… , wie im Screenshot unten markiert.

Eintippen [email protected]: 2222 und drücke .

Hier, Shovon ist der Anmeldeberenname des Docker -Containers S01, 192.168.0.110 ist die IP -Adresse meiner Synologie NAS und 2222 ist die weitergeleitete Portnummer des Docker -Containers S01. Der Benutzername, die IP -Adresse und die Portnummer sind für Sie unterschiedlich. Stellen Sie also sicher, dass Sie sie durch Ihre ersetzen.

Klicke auf Linux.

Klicke auf Weitermachen.

Geben Sie das Anmeldekennwort des Docker -Containers ein S01 und drücke .

Der Visual Studio -Code lädt alle erforderlichen Dateien im Docker -Container herunter S01 und bereiten Sie den Container für die Fernentwicklung vor. Es kann eine Weile dauern, bis es fertig ist.

Zu diesem Zeitpunkt sollten alle erforderlichen Dateien im Docker -Container heruntergeladen werden S01, und der Visual Studio -Code sollte für die Fernentwicklung bereit sein.

Um einen Projektordner aus dem zu öffnen Projekte Shared Ordner, klicken Sie auf Datei > Ordner öffnen… , wie im Screenshot unten markiert.

Wie Sie sehen können, alle verfügbaren Ordner des Docker -Containers S01 sind angezeigt. Klick auf das Projekte Ordner.

Ich habe ein einfaches C ++ - Projekt kopiert Exploring-CPP11 auf der Projekte gemeinsamer Ordner meiner Synology Nas. Der Ordner wird also in der angezeigt Projekte/ Ordner des Docker -Containers S01, Wie Sie im Screenshot unten sehen können. Ich werde es verwenden, um zu demonstrieren, wie man eine Fernentwicklung in einem Docker -Container durchführt.

Möglicherweise möchten Sie einen anderen Projektordner öffnen. Sie können auch einen leeren Projektordner erstellen und mit Visual Studio -Code öffnen und mitmachen.

Klicken Sie darauf, um einen Projektordner mit Visual Studio -Code zu öffnen. Wie ich das öffnen möchte Erkundung von CPP11/ Projektordner, ich werde darauf klicken.

Wenn Sie sich im Projektordner befinden, den Sie mit Visual Studio -Code öffnen möchten, klicken Sie auf OK.

Möglicherweise werden Sie aufgefordert, das Anmeldekennwort Ihres Docker -Containers einzugeben S01. Geben Sie das Anmeldekennwort Ihres Docker -Containers ein S01 und drücke .

Der Projektordner sollte mit Visual Studio -Code geöffnet werden, wie Sie im Screenshot unten sehen können.

In meinem Projektordner habe ich eine inklusive/ Ordner, src/ Ordner und a Cmakelisten.txt Datei.

Im inklusive/ Ordner, ich habe eine C ++ - Header -Datei Drucker.H und in der src/ Ordner; Ich habe 2 C ++ - Quelldateien hauptsächlich.CPP Und Drucker.CPP, Wie Sie im Screenshot unten sehen können.

Der Inhalt der C ++ - Quelldatei SRC/Main.CPP wird im Screenshot unten angegeben.

Der Inhalt der C ++ - Quelldatei SRC/Drucker.CPP wird im Screenshot unten angegeben.

Der Inhalt der C ++ - Header -Datei Inklusive/Drucker.H wird im Screenshot unten angegeben.

Der Inhalt der CMake -Konfigurationsdatei Cmakelisten.txt wird im Screenshot unten angegeben.

Sobald Sie a erstellt haben Cmakelisten.txt Datei und Geben Sie den folgenden Inhalt in der Datei, Visual Studio -Code, erkennen, dass Sie CMAKE verwenden, und werden aufgefordert, die erforderlichen CMAKE -Erweiterungen zu installieren. Klicke auf Installieren.

Die erforderlichen CMake -Erweiterungen sollten installiert werden.

Sobald die erforderlichen CMake-Erweiterungen installiert sind.

Wenn Sie alle erforderlichen Dateien und Ordner für das Projekt erstellt haben, klicken Sie auf Terminal > Neues Terminal ein neues Terminalfenster öffnen.

Ein neues Terminalfenster sollte geöffnet werden, wie Sie im Screenshot unten sehen können.

Um das C ++ - Programm zu kompilieren, müssen Sie einen C ++ - Compiler und die CMake -Build -Tools in Ihrem Docker -Container installieren S01.

Führen Sie dazu den folgenden Befehl aus:

$ sudo apt installieren Sie build -wesentliche cmake -y

Die C ++ - Compiler- und CMake -Build -Tools werden heruntergeladen. Es kann einige Sekunden dauern, bis es fertig ist.

Die C ++ - Compiler- und CMake -Build -Tools werden installiert.

Zu diesem Zeitpunkt sollten die Tools C ++ Compiler und CMake Build installiert werden.

Erstellen Sie jetzt eine bauen/ Ordner mit dem folgenden Befehl:

$ mkdir -pv Build

Navigieren zum bauen/ Ordner mit dem folgenden Befehl:

$ cd build/

Generieren Sie CMake Build -Konfigurationsdateien für das C ++ - Projekt mit dem folgenden Befehl:

$ cmake…

CMake Build -Konfigurationsdateien sollten generiert werden.

Wie Sie sehen können, werden Makefile und andere CMake -Konfigurationsdateien in der bauen/ Ordner.

$ ls -lh

Führen Sie den folgenden Befehl aus, um das C ++ - Projekt mit CMAKE zu kompilieren:

$ cmake -build .

Das C ++ - Projekt sollte zusammengestellt werden, wie Sie im Screenshot unten sehen können.

Sobald das C ++ - Projekt zusammengestellt wurde, ist eine neue ausführbare Datei App sollte in der erstellt werden bauen/ Ordner, wie Sie im Screenshot unten sehen können.

Sie können die kompilierte ausführbare Datei ausführen App, folgendermaßen:

$ ./App

Wie Sie sehen können, wird die richtige Ausgabe auf der Konsole gedruckt.

Auf diese Weise verwenden Sie Docker, um eine Linux -Entwicklungsumgebung für Ihre Synology NAS zu erstellen und mit Visual Studio Code eine Remoteentwicklung für Docker -Container durchzuführen.

Abschluss

In diesem Artikel habe ich Ihnen gezeigt, wie Sie Docker verwenden, um eine Linux -Entwicklerumgebung in Ihrem Synology NAS zu erstellen und mit Visual Studio Code eine Fernentwicklung für Docker -Container durchzuführen. Ansonsten können Sie den offiziellen Ubuntu 20 verwenden.04 LTS Docker Hub Image zum Erstellen eines benutzerdefinierten Ubuntu 20.04 LTS Docker Image zur Einrichtung einer Docker -Entwicklungsumgebung wird auch hier gelehrt. Sie können dasselbe mit anderen Betriebssystembildern (ich.e., Centos, Debian) auch.