Jak używać Dockera do tworzenia środowiska programistów Linux w Synology NAS?

Jak używać Dockera do tworzenia środowiska programistów Linux w Synology NAS?

Możesz użyć oficjalnej aplikacji Synology Virtual Machine Manager, aby utworzyć maszynę wirtualną, zainstalować dowolną dystrybucję Linux i pracować nad projektami programistycznymi na maszynie wirtualnej. Możesz zrobić to samo w kontenerze Docker za pomocą oficjalnej aplikacji Docker Synology Docker. Chociaż rozwijanie się na maszynie wirtualnej jest znacznie bardziej elastyczne niż opracowywanie na kontenerze (ponieważ maszyna wirtualna jest jak komputer pełnoprawny), maszyna wirtualna wymaga dużo pamięci i zasobów systemowych niż kontener dokujący.

Jeśli Twoja synologia NAS nie ma wystarczającej pamięci lub nie chcesz zaktualizować pamięci Synology NAS, możesz użyć Docker, aby stworzyć środowisko programistyczne Linux na Synology NAS.

W tym artykule pokażę, jak stworzyć niestandardowy Ubuntu 20.04 LTS Docker Image, Utwórz z niego kontener, aby skonfigurować środowisko programistyczne Linux za pomocą Docker w Synology NAS i wykonaj zdalne opracowywanie z kodem Visual Studio. Więc zacznijmy.

Rzeczy, których będziesz potrzebować

Aby śledzić ten artykuł, musisz mieć:

  • Synologia NAS z co najmniej 4 GB lub instalacją pamięci
  • Doker Aplikacja zainstalowana w Synology NAS
  • Komputer lub laptop do łączenia się z GUI internetowym NAS Synology
  • Połączenie internetowe w Synology NAS i komputer/laptop

Jeśli potrzebujesz pomocy w instalacji Doker Aplikacja w Synology NAS, możesz przeczytać artykuł Uruchamianie kontenerów Docker na Synology NAS Na Linuxhint.com.

Tworzenie folderu udostępnionego projektów

Chciałbym zachować wszystkie moje projekty w oddzielnym folderze, aby wszystko się uporządkowały. Więc utworzę nowy folder udostępniony Projektowanie O mojej synologii NAS. Jeśli nie masz jeszcze oddzielnego folderu, aby zachować swoje projekty, możesz zrobić to samo.

Aby utworzyć nowy wspólny folder Projektowanie, Kliknij Udostępniony folder z Panel sterowania aplikacja, jak zaznaczono na zrzucie ekranu poniżej.

Kliknij Tworzyć > Tworzyć, jak zaznaczono na zrzucie ekranu poniżej.

Wpisz Projektowanie jako udział Nazwa i wybierz wolumin magazynowy, w którym chcesz utworzyć folder udostępniony z Lokalizacja menu rozwijane i kliknij Następny, jak zaznaczono na zrzucie ekranu poniżej.

Kliknij Następny.

Kliknij Następny.

Kliknij Stosować.

Ustawić Przeczytaj/zapisz uprawnienia dla użytkowników, których chcesz umożliwić dostęp do udostępniania i kliknij OK.

Nowy wspólny folder Projektowanie należy utworzyć, jak widać na zrzucie ekranu poniżej.

Włącz dostęp do SSH do synologii NAS

Aby skonfigurować środowisko programistyczne na kontenerze Docker, będziesz musiał utworzyć niestandardowy obraz Docker. W chwili pisania tego tekstu nie można utworzyć niestandardowego obrazu Dockera z urzędnika Doker aplikacja Synology NAS za pomocą Dockerfile. Ale możesz utworzyć niestandardowy obraz Docker za pomocą Dockerfile z wiersza polecenia twojej synologii NAS.

Aby uzyskać dostęp do wiersza polecenia NAS, musisz włączyć SSH z Panel sterowania App.

Aby to zrobić, otwórz Panel sterowania aplikacja i przejdź do Terminal i snmp sekcja, jak zaznaczono na zrzucie ekranu poniżej.

Sprawdzać Włącz usługę SSH pole wyboru i kliknij Stosować, jak zaznaczono na zrzucie ekranu poniżej.

Usługa SSH powinna być włączona w Synology NAS.

Tworzenie folderu obrazu kontenera

Utwórzmy dedykowany folder w doker Udostępniony folder, aby zachować Dockerfile które zostaną użyte do utworzenia niestandardowego obrazu kontenera Docker.

Aby utworzyć nowy folder, otwórz Stacja plików aplikacja, wybierz doker Udostępniony folder i kliknij Tworzyć, jak zaznaczono na zrzucie ekranu poniżej.

Kliknij Utwórz folder.

Wpisz Ubuntu-dev jako nazwa folderu i kliknij OK.

Nowy folder Ubuntu-dev powinien być utworzony w doker Udostępniony folder, jak widać na zrzucie ekranu poniżej.

Tworzenie pliku dokera dla obrazu kontenera

Utwórz nowy plik Dockerfile w Ubuntu-dev/ folder i wpisz następujące wiersze w Dockerfile:

Od Ubuntu: 20.04
Uruchom aktualizację apt
Uruchom apt instaluj lokalizacje lokalizacji -y -y
Uruchom lokalizację en_us.UTF-8
Uruchom aktualizację Lang = en_us.UTF-8
Env tz = Azja/Dhaka
Uruchom ln -snf/usr/share/zoneinfo/$ tz/etc/localtime && echo $ tz>/etc/timeZone
Uruchom apt instal tzdata -y
Uruchom apt install OpenSsh-Server Sudo Bash-Complet-Complecja Tree git -y
Uruchom useradd -m -d /home /shovon -s /bin /bash -g sudo shovon
Run Echo „Shovon: Secret” | CHPASSWD
Uruchom usługi SSH Start
Odsłaniaj 22
Cmd ["/usr/sbin/sshd", "-d"]

Po zakończeniu zapisz Dockerfile.

Tutaj linia 1 mówi Dockerowi, aby użył oficjalnego obrazu Docker Hub Ubuntu: 20.04, jako podstawa niestandardowego obrazu dokera.

Wiersz 3 aktualizuje pamięć podręczną repozytorium pakietów Apt na obrazie podstawowym.

Wiersz 4-6 konfiguruje ustawienia lokalizacji obrazu. Ustawiam to do en_us.UTF-8 W takim przypadku, ale możesz zmienić go na inną lokalizację, jeśli chcesz.

Linia 8-10 konfiguruje strefę czasową dla obrazu. Ustawiam to do Azja/Dhaka. Zamień go żądaną strefą czasową.

Linia 12 instaluje serwer OpenSsh, git, sudo, ukończenie bash i narzędzie wiersza poleceń drzewa na podstawie obrazu podstawowego.

Wiersz 14-15 tworzy nowego użytkownika Shovon, zestawy /dom/shovon Jako katalog domowy dla użytkownika ustawiają /bin/bash Jako powłoka logowania dla użytkownika, dodaje użytkownika do sudo grupa i ustawia hasło logowania sekret dla użytkownika.

Będziesz chciał utworzyć użytkownika o innej nazwie, ustawić inny katalog domowy i ustawić inne hasło. Zmień więc nazwę użytkownika logowania, hasło i ścieżkę katalogu domowego zgodnie z wymaganiami.

Linia 17-19 rozpoczyna usługę SSH i domyślnie ujawnia port SSH 22.

SSH do synologii NAS

Po włączeniu usługi SSH możesz SSH w Synology NAS z komputera.

Aby połączyć się z Synology NAS przez SSH, otwórz terminal na komputerze i uruchom następujące polecenie:

$ ssh [email protected]

NOTATKA: Tutaj, Shovon to nazwa użytkownika logowania i 192.168.0.110 to adres IP mojej synologii NAS. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.

Gdy uzyskujesz dostęp do Synology NAS przez SSH.

Wpisz Tak i naciśnij kontynuować.

Wpisz hasło logowania i naciśnij.

Powinieneś zostać zalogowany do swojej synologii NAS za pośrednictwem SSH, jak widać na zrzucie ekranu poniżej.

Tworzenie niestandardowego obrazu Docker do rozwoju

Stworzyliśmy Dockerfile w Ubuntu-dev/ folder doker udostępniony folder. Jak widać, doker Udostępniony folder jest tworzony w Tom 4 twojej synologii NAS.

Więc przejdź do /Tom4 folder z linii poleceń Synology NAS.

$ cd /tom4

doker folder udostępniony powinien być w /Tom4 folder, jak widać na zrzucie ekranu poniżej.

$ ls

Przejść do doker/ teczka.

$ CD Docker/

Powinieneś znaleźć Ubuntu-dev/ folder tutaj, który utworzyłeś wcześniej, jak widać na zrzucie ekranu poniżej.

$ ls

Przejść do Ubuntu-dev/ teczka.

$ CD Ubuntu-dev/

Powinieneś znaleźć Dockerfile utworzyłeś we wcześniejszej sekcji tego artykułu tutaj, jak widać na zrzucie ekranu poniżej.

Aby utworzyć niestandardowy obraz dokera Synology-Dev/Ubuntu: 20.04 z Dockerfile, Uruchom następujące polecenie:

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

Wpisz hasło logowania do Synology NAS i naciśnij .

Tworzony jest niestandardowy obraz dokera. Ukończenie może potrwać trochę czasu.

Tworzony jest niestandardowy obraz dokera.

Tworzony jest niestandardowy obraz dokera.

Tworzony jest niestandardowy obraz dokera.

W tym momencie niestandardowy obraz dokera Synology-Dev/Ubuntu: 20.04 należy utworzyć.

Kiedyś niestandardowy obraz Docker Synology-Dev/Ubuntu: 20.04 jest tworzony, otwórz Doker Aplikacja z sieci internetowej twojej synologii NAS.

Doker Aplikacja powinna zostać otwarta.

w Obraz sekcja Doker Aplikacja, należy znaleźć niestandardowy obraz Docker Synology-Dev/Ubuntu: 20.04, które właśnie stworzyłeś, jak widać na zrzucie ekranu poniżej.

Tworzenie Ubuntu 20.04 LTS Development Contener

Aby utworzyć nowy kontener za pomocą niestandardowego obrazu Docker Synology-Dev/Ubuntu: 20.04, Wybierz go i kliknij Początek z Obraz sekcja Doker aplikacja, jak zaznaczono na zrzucie ekranu poniżej.

Wpisz w a Nazwa kontenera.

Nazwę to S01. Możesz to nazwać, co chcesz.

Kliknij Zaawansowane ustawienia, jak zaznaczono na zrzucie ekranu poniżej.

Sprawdź Włącz Auto-Restart pole wyboru z Zaawansowane ustawienia zakładka Zaawansowane ustawienia okno.

Przejść do Tom zakładka Zaawansowane ustawienia okno.

Aby dodać Projektowanie Udostępniony folder (który utworzyłeś we wcześniejszej sekcji tego artykułu do przechowywania wszystkich plików projektu) do kontenera, kliknij Dodaj folder, jak zaznaczono na zrzucie ekranu poniżej.

Wybierz Projektowanie Udostępniony folder z listy i kliknij Wybierać.

Należy dodać nowy wpis, jak widać na zrzucie ekranu poniżej.

Wpisz ścieżkę, na której chcesz zamontować Projektowanie Udostępniony folder na kontenerze.

Zamontuję Projektowanie Udostępniony folder na ścieżce /dom/shovon/projekty.

Przejść do Ustawienia portu zakładka z Zaawansowane ustawienia okno.

Wpisz w Port lokalny numer 2222 dla Port kontenerowy numer 22, jak zaznaczono na zrzucie ekranu poniżej.

Po zakończeniu kliknij Stosować.

Kliknij Następny.

Kliknij Stosować.

Nowy pojemnik S01 powinno zostać utworzone, jak widać w Pojemnik sekcja Doker App.

Uprawnienia do ustalania projektów udostępnionych folderów dla kontenera

Teraz musisz SSH do kontenera Docker S01 i napraw uprawnienia dla twojego Projektowanie udostępniony folder.

Możesz ssh do kontenera Docker S01 z komputera z następującym poleceniem:

$ ssh -p 2222 [email protected]

NOTATKA: Tutaj, Shovon to nazwa użytkownika logowania kontenera Docker. 192.168.0.110 to adres IP Twojej synologii NAS i 2222 to przekazany numer portu kontenera Docker. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.

Gdy łączysz się z kontenerem Docker S01 Po raz pierwszy zobaczysz następującą monit.

Wpisz Tak i naciśnij .

Wpisz hasło logowania (sekret, w moim przypadku) twojego kontenera dokera S01 i naciśnij .

Powinieneś zostać zalogowany do kontenera Docker S01 przez SSH, jak widać na zrzucie ekranu poniżej.

Aby zmienić właściciela i grupę wszystkich plików i folderów Projektowanie Udostępniony folder do użytkownika logowania i grupy kontenera Docker S01, Uruchom następujące polecenie:

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

NOTATKA: Zamontowałem Projektowanie Udostępniony folder w ~/projekty folder kontenera Docker S01. Być może zamontowałeś to gdzie indziej. Więc upewnij się, że odtąd zastąp ścieżkę katalogu.

Właściciel i grupa wszystkich plików i katalogów Projektowanie Udostępniony folder powinien zostać zmieniony na użytkownika logowania i grupę kontenera Docker S01.

Teraz ustaw odpowiednie uprawnienia dla Projektowanie Udostępniony folder zamontowany w ~/projekty folder kontenera Docker S01 Z następującym poleceniem:

$ sudo chown -rfv 775 ~/projekty

Prawidłowe uprawnienia do pliku i katalogu dla Projektowanie Folder udostępniony powinien być ustawiony.

Ustawienie zdalnego opracowania na kontenerze z kodem Visual Studio

Kod Studio Visual natywnie wspiera zdalny rozwój. Możesz mieć kod Visual Studio zainstalowany na komputerze (Windows/Linux/MacOS) i podłączyć się do kontenera Docker S01 Działanie na Synology NAS za pośrednictwem SSH i zdalnie wykonuj tam swoje projekty rozwojowe. Twój komputer i Synology NAS muszą być w tej samej sieci, aby to działało.

Zobaczmy, jak wykonać zdalne opracowywanie na kontenerze Docker S01 działający na Synology NAS przy użyciu kodu Visual Studio.

Uruchom edytor kodów Visual Studio na swoim komputerze. Używam kodu Visual Studio na moim komputerze Windows 10.

Teraz musisz zainstalować Zdalny rozwój rozszerzenie na Kod Studio Visual za zdalny rozwój.

Aby zainstalować Zdalny rozwój rozszerzenie, kliknij Rozszerzenia ikona, poszukaj zdalny rozwój rozszerzenie, kliknij Zdalny rozwój, i kliknij zainstalować, jak zaznaczono na zrzucie ekranu poniżej.

Zdalny rozwój rozszerzenie należy zainstalować.

Kiedyś Zdalny rozwój Rozszerzenie jest zainstalowane, należy zobaczyć następującą ikonę () w lewym dolnym rogu kodu Visual Studio, jak zaznaczono na zrzucie ekranu poniżej.

Aby dodać kontener Docker S01 Działając na Synology NAS z kodem Visual Studio dla zdalnego rozwoju, kliknij ikonę zdalnego rozwoju .

Kliknij Remote-Ssh: Podłącz bieżące okno do hosta… , jak zaznaczono na zrzucie ekranu poniżej.

Wpisz [email protected]: 2222 i naciśnij .

Tutaj, Shovon to nazwa użytkownika logowania kontenera Docker S01, 192.168.0.110 to adres IP mojej synologii NAS i 2222 to przekazany numer portu kontenera Docker S01. Nazwa użytkownika, adres IP i numer portu będą dla Ciebie inne. Więc upewnij się, że zastąp je swoimi.

Kliknij Linux.

Kliknij Kontynuować.

Wpisz hasło logowania kontenera Docker S01 i naciśnij .

Kod Visual Studio pobranie wszystkich wymaganych plików na kontenerze Docker S01 i przygotuj pojemnik do zdalnego rozwoju. Ukończenie może potrwać trochę czasu.

W tym momencie wszystkie wymagane pliki należy pobrać w kontenerze Docker S01, a kod Visual Studio powinien być gotowy do zdalnego rozwoju.

Aby otworzyć folder projektu z Projektowanie Udostępniony folder, kliknij Plik > Otwórz folder… , jak zaznaczono na zrzucie ekranu poniżej.

Jak widać, wszystkie dostępne foldery kontenera Docker S01 są wyświetlane. Kliknij na projektowanie teczka.

Skopiowałem prosty projekt C ++ Exploring-CPP11 na Projektowanie Udostępniony folder mojej synologii NAS. Tak więc folder pojawia się w projektowanie/ folder kontenera Docker S01, Jak widać na zrzucie ekranu poniżej. Zamierzam go użyć, aby zademonstrować, jak wykonywać zdalne opracowywanie na kontenerze Docker działającym na twojej synologii NAS.

Możesz otworzyć inny folder projektu. Możesz także utworzyć pusty folder projektu i otworzyć go z kodem Visual Studio i śledzić.

Aby otworzyć folder projektu z kodem Visual Studio, kliknij go. Jak chcę otworzyć Exploring-CPP11/ Folder projektu, kliknę go.

Gdy jesteś w folderze projektu, który chcesz otworzyć za pomocą kodu Visual Studio, kliknij OK.

Możesz zostać poproszony o wpisanie hasła logowania swojego kontenera Docker S01. Wpisz hasło logowania kontenera Docker S01 i naciśnij .

Folder projektu powinien zostać otwarty za pomocą kodu Visual Studio, jak widać na zrzucie ekranu poniżej.

W moim folderze projektu mam Obejmuje/ teczka, src/ folder i Cmakelists.tekst plik.

w Obejmuje/ folder, mam plik nagłówka C ++ Drukarka.H i w src/ teczka; Mam 2 pliki źródłowe C ++ główny.CPP I Drukarka.CPP, Jak widać na zrzucie ekranu poniżej.

Zawartość pliku źródłowego C ++ SRC/Main.CPP jest podany na zrzucie ekranu poniżej.

Zawartość pliku źródłowego C ++ SRC/drukarka.CPP jest podany na zrzucie ekranu poniżej.

Zawartość pliku nagłówka C ++ obejmuje/drukarkę.H jest podany na zrzucie ekranu poniżej.

Zawartość pliku konfiguracyjnego CMake Cmakelists.tekst jest podany na zrzucie ekranu poniżej.

Po utworzeniu Cmakelists.tekst Plik i wpisz następujące zawartość w pliku, kod Visual Studio powinien wykryć, że używasz CMake, a on poprosi o zainstalowanie wymaganych rozszerzeń CMake. Kliknij zainstalować.

Należy zainstalować wymagane rozszerzenia CMake.

Po zainstalowaniu wymaganych rozszerzeń CMake, automatyczne uzupełnienie i podświetlenie składni powinny działać w przypadku plików konfiguracyjnych CMake, jak widać na zrzucie ekranu poniżej.

Po utworzeniu wszystkich wymaganych plików i folderów dla projektu kliknij Terminal > Nowy terminal Aby otworzyć nowe okno terminala.

Należy otworzyć nowe okno terminala, jak widać na zrzucie ekranu poniżej.

Aby skompilować program C ++, musisz zainstalować kompilator C ++ i narzędzia kompilacji CMake na kontenerze Docker S01.

Aby to zrobić, uruchom następujące polecenie:

$ sudo apt Zainstaluj konstrukcję cmake -y

Pobierane są kompilator C ++ i narzędzia kompilacji cmake. Ukończenie może potrwać kilka sekund.

Instalowane są kompilator C ++ i narzędzia do kompilacji CMake.

W tym momencie należy zainstalować narzędzia do kombilatora C ++.

Teraz stwórz zbudować/ Folder z następującym poleceniem:

kompilacja $ mkdir -pv

Przejść do zbudować/ Folder z następującym poleceniem:

$ CD Build/

Wygeneruj pliki konfiguracyjne kompilacji cmake dla projektu C ++ za pomocą następującego polecenia:

$ cmake…

Należy wygenerować pliki konfiguracji kompilacji cmake.

Jak widać, MakeFile i inne pliki konfiguracyjne CMake są generowane w zbudować/ teczka.

$ ls -lh

Aby skompilować projekt C ++ za pomocą CMake, uruchom następujące polecenie:

$ cmake -Build .

Projekt C ++ powinien zostać skompilowany, jak widać na zrzucie ekranu poniżej.

Po skompilowaniu projektu C ++ nowy plik wykonywalny App powinien być utworzony w zbudować/ folder, jak widać na zrzucie ekranu poniżej.

Możesz uruchomić skompilowany plik wykonywalny App, następująco:

$ ./App

Jak widać, prawidłowe wyjście jest drukowane na konsoli.

W ten sposób używasz Docker do tworzenia środowiska programistycznego Linux w Synology NAS i wykonujesz zdalne opracowywanie na kontenerach Docker za pomocą kodu Visual Studio.

Wniosek

W tym artykule pokazałem, jak korzystać z Docker do tworzenia środowiska programistów Linux w Synology NAS i wykonać zdalne opracowywanie na kontenerach Docker za pomocą kodu Visual Studio. Poza tym, jak możesz użyć oficjalnego Ubuntu 20.04 LTS Docker Hub Obraz, aby utworzyć niestandardowy Ubuntu 20.04 LTS Docker Image w celu skonfigurowania środowiska programistycznego jest również tutaj nauczany. Możesz zrobić to samo z innymi obrazami systemu operacyjnego (i.mi., Centos, Debian).