Puede usar la aplicación oficial de Synology Virtual Machine Manager para crear una máquina virtual, instalar cualquier distribución de Linux y trabajar en sus proyectos de desarrollo en la máquina virtual. Puede hacer lo mismo en un contenedor Docker utilizando la aplicación Oficial Synology Docker. Aunque desarrollar en una máquina virtual es mucho más flexible que desarrollar en un contenedor (ya que una máquina virtual es como una computadora completa), una máquina virtual requiere mucha memoria y recursos del sistema que un contenedor Docker.
Si su Synology NAS no tiene suficiente memoria o no desea actualizar la memoria de su NAS Synology, entonces puede usar Docker para crear un entorno de desarrollo de Linux en su NAS Synology.
En este artículo, te mostraré cómo crear un Ubuntu 20 personalizado 20.04 Imagen de Docker LTS, cree un contenedor a partir de él para configurar un entorno de desarrollo de Linux utilizando Docker en su NAS Synology, y realice un desarrollo remoto allí con Código de Visual Studio. Entonces empecemos.
Cosas que necesitarás
Para seguir este artículo, debe tener:
Si necesita alguna ayuda para instalar el Estibador Aplicación en su NAS Synology, entonces puede leer el artículo Ejecución de contenedores Docker en Synology NAS en Linuxhint.comunicarse.
Creación de una carpeta de proyectos compartidos
Me gustaría mantener todos mis proyectos en una carpeta separada para mantener las cosas organizadas. Entonces, voy a crear una nueva carpeta compartida Proyectos en mi sinología nas. Si aún no tiene una carpeta separada para mantener sus proyectos, puede hacer lo mismo.
Para crear una nueva carpeta compartida Proyectos, haga clic en Carpeta compartida desde el Panel de control aplicación, como se marca en la captura de pantalla a continuación.
Haga clic en Crear > Crear, como se marca en la captura de pantalla a continuación.
Escribir Proyectos Como la participación Nombre y seleccione un volumen de almacenamiento donde desea crear la carpeta compartida en el Ubicación menú desplegable y haga clic en Próximo, como se marca en la captura de pantalla a continuación.
Haga clic en Próximo.
Haga clic en Próximo.
Haga clic en Aplicar.
Colocar Leer escribir Permisos para los usuarios a los que desea permitir el acceso a la compartir y hacer clic en DE ACUERDO.
Una nueva carpeta compartida Proyectos debe crearse, como puede ver en la captura de pantalla a continuación.
Habilitar el acceso SSH a Synology NAS
Para configurar un entorno de desarrollo en un contenedor Docker, deberá crear una imagen de Docker personalizada. Al momento de escribir este escrito, no puede crear una imagen de Docker personalizada del funcionario Estibador Aplicación de su sinología NAS usando un Dockfile. Pero, puede crear una imagen de Docker personalizada utilizando un Dockfile de la línea de comandos de tu sinología nas.
Para acceder a la línea de comandos de su NAS Synology, debe habilitar SSH desde el Panel de control aplicación.
Para hacer eso, abra el Panel de control aplicación y navegar al Terminal y SNMP sección, como se marca en la captura de pantalla a continuación.
Controlar Habilitar el servicio SSH casilla de verificación y haga clic en Aplicar, como se marca en la captura de pantalla a continuación.
El servicio SSH debe habilitarse en su NAS Synology.
Crear una carpeta para la imagen del contenedor
Creemos una carpeta dedicada en el estibador carpeta compartida para mantener el Dockfile que se utilizará para crear una imagen de contenedor Docker personalizada.
Para crear una nueva carpeta, abra el Estación de archivos aplicación, seleccione el estibador Carpeta compartida y haga clic en Crear, como se marca en la captura de pantalla a continuación.
Haga clic en Crear carpeta.
Escribir Ubuntu-Dev Como el nombre de la carpeta y haga clic en DE ACUERDO.
Una nueva carpeta Ubuntu-Dev debe crearse en el estibador Carpeta compartida, como puede ver en la captura de pantalla a continuación.
Creación de un Dockerfile para la imagen del contenedor
Crea un nuevo archivo Dockfile en el Ubuntu-dev/ carpeta y escriba las siguientes líneas en el Dockfile:
De Ubuntu: 20.04Una vez que haya terminado, guarde el Dockfile.
Aquí, la línea 1 le dice a Docker que use la imagen oficial de Docker Hub Ubuntu: 20.04, Como base para la imagen de Docker personalizada.
La línea 3 actualiza el caché del repositorio del paquete APT en la parte superior de la imagen base.
Línea 4-6 Configura la configuración local para la imagen. Lo estoy configurando EN_US.UTF-8 En este caso, pero puede cambiarlo a una ubicación diferente si lo desea.
La línea 8-10 configura la zona horaria para la imagen. Lo estoy configurando Asia/Dhaka. Reemplácelo con la zona horaria deseada.
La línea 12 instala el servidor OpenSSH, GIT, sudo, finalización de Bash y la utilidad de la línea de comandos del árbol en la parte superior de la imagen base.
La línea 14-15 crea un nuevo usuario pala, sets /Inicio/Shovon Como directorio de inicio para el usuario, se establece /bin/bash Como shell de inicio de sesión para el usuario, agrega el usuario al usuario sudo agrupar y establece la contraseña de inicio de sesión secreto para el usuario.
Deberá crear un usuario con un nombre diferente, establecer un directorio de inicio diferente y establecer una contraseña diferente. Por lo tanto, cambie la ruta del nombre de usuario, la contraseña y el directorio de inicio según sea necesario.
La línea 17-19 inicia el servicio SSH y expone el puerto SSH 22 de forma predeterminada.
Ssh en la sinología nas
Una vez que haya habilitado el servicio SSH, puede SSH en Synology Nas desde su computadora.
Para conectarse a Synology NAS a través de SSH, abra un terminal en su computadora y ejecute el siguiente comando:
$ ssh [email protected]NOTA: Aquí, pala es el nombre de usuario de inicio de sesión y 192.168.0.110 es la dirección IP de mi sinología nas. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.
Mientras accede al Synology NAS a través de SSH por primera vez, verá el siguiente mensaje.
Escribir Sí y presionar continuar.
Escriba su contraseña de inicio de sesión y presione.
Debería iniciar sesión en su NAS Synology a través de SSH, como puede ver en la captura de pantalla a continuación.
Creación de una imagen de Docker personalizada para el desarrollo
Hemos creado un Dockfile en el Ubuntu-dev/ carpeta del estibador carpeta compartida. Como puedes ver, el estibador La carpeta compartida se crea en Volumen 4 de tu sinología nas.
Entonces, navegue al /volumen4 Carpeta de la línea de comandos de su sinología nas.
$ CD /Volumen4El estibador La carpeta compartida debe estar en el /volumen4 carpeta, como puede ver en la captura de pantalla a continuación.
$ LSNavegar al estibador/ carpeta.
$ CD Docker/Deberías encontrar el Ubuntu-dev/ Carpeta aquí que ha creado anteriormente, como puede ver en la captura de pantalla a continuación.
$ LSNavegar al Ubuntu-dev/ carpeta.
$ CD ubuntu-dev/Deberías encontrar el Dockfile Has creado en la sección anterior de este artículo aquí, como puede ver en la captura de pantalla a continuación.
Para crear una imagen de Docker personalizada Synology-Dev/Ubuntu: 20.04 desde el Dockfile, Ejecute el siguiente comando:
$ sudo Docker Build -T Synology -Dev/Ubuntu: 20.04 .Escriba la contraseña de inicio de sesión de su sinología NAS y presione .
Se está creando una imagen de Docker personalizada. Puede tomar un tiempo completar.
Se está creando una imagen de Docker personalizada.
Se está creando una imagen de Docker personalizada.
Se está creando una imagen de Docker personalizada.
En este punto, una imagen de Docker personalizada Synology-Dev/Ubuntu: 20.04 debe crearse.
Una vez que la imagen de Docker personalizada Synology-Dev/Ubuntu: 20.04 se crea, abra el Estibador Aplicación de la GUI web de su sinología NAS.
El Estibador la aplicación debe abrirse.
En el Imagen Sección de la Estibador aplicación, debe encontrar la imagen de Docker personalizada Synology-Dev/Ubuntu: 20.04, que acaba de crear, como puede ver en la captura de pantalla a continuación.
Creando un Ubuntu 20.04 contenedor de desarrollo LTS
Para crear un nuevo contenedor utilizando la imagen de Docker personalizada Synology-Dev/Ubuntu: 20.04, seleccionarlo y hacer clic en Lanzamiento desde el Imagen Sección de la Estibador aplicación, como se marca en la captura de pantalla a continuación.
Escriba un Nombre del contenedor.
Lo llamaré S01. Puedes llamarlo como quieras.
Haga clic en Ajustes avanzados, como se marca en la captura de pantalla a continuación.
Comprobar el Habilitar auto-rescart casilla de verificación del Ajustes avanzados pestaña del Ajustes avanzados ventana.
Navegar al Volumen pestaña del Ajustes avanzados ventana.
Para agregar el Proyectos Carpeta compartida (que ha creado en la sección anterior de este artículo para almacenar todos los archivos del proyecto) en el contenedor, haga clic en Agregar carpeta, como se marca en la captura de pantalla a continuación.
Selecciona el Proyectos Carpeta compartida de la lista y haga clic en Seleccionar.
Se debe agregar una nueva entrada, como puede ver en la captura de pantalla a continuación.
Escriba el camino donde desee montar el Proyectos Carpeta compartida en su contenedor.
Montaré el Proyectos carpeta compartida en el camino /Inicio/Shovon/Proyectos.
Navegar al Configuración de puerto pestaña del Ajustes avanzados ventana.
Escriba el Puerto local número 2222 Para el Puerto de contenedores número 22, como se marca en la captura de pantalla a continuación.
Una vez que haya terminado, haga clic en Aplicar.
Haga clic en Próximo.
Haga clic en Aplicar.
Un nuevo contenedor S01 debe crearse, como puede ver en el Envase Sección de la Estibador aplicación.
Arreglar proyectos de permisos de carpeta compartida para el contenedor
Ahora tienes que ssh en el contenedor Docker S01 y arreglar los permisos para su Proyectos carpeta compartida.
Puedes ssh en el contenedor de docker S01 Desde su computadora con el siguiente comando:
$ SSH -P 2222 [email protected]NOTA: Aquí, pala es el nombre de usuario de inicio de sesión del contenedor Docker. 192.168.0.110 es la dirección IP de su sinología nas y 2222 es el número de puerto reenviado del contenedor Docker. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.
Mientras se conecta al contenedor Docker S01 Por primera vez, verá el siguiente mensaje.
Escribir Sí y presionar .
Escriba la contraseña de inicio de sesión (secreto, En mi caso) de su contenedor Docker S01 y presionar .
Debe iniciarse sesión en el contenedor Docker S01 Vía SSH, como puede ver en la captura de pantalla a continuación.
Para cambiar el propietario y el grupo de todos los archivos y carpetas de su Proyectos Carpeta compartida para el usuario de inicio de sesión y el grupo del contenedor Docker S01, Ejecute el siguiente comando:
$ sudo chown -rfv $ (whoami): $ (whoami) ~/proyectosNOTA: He montado el Proyectos carpeta compartida en el ~/proyectos carpeta del contenedor Docker S01. Es posible que lo hayas montado en otro lugar. Entonces, asegúrese de reemplazar la ruta del directorio con la suya a partir de ahora.
El propietario y el grupo de todos los archivos y directorios del Proyectos La carpeta compartida debe cambiarse al usuario de inicio de sesión y al grupo del contenedor Docker S01.
Ahora, establezca los permisos correctos para el Proyectos carpeta compartida montada en el ~/proyectos carpeta del contenedor Docker S01 Con el siguiente comando:
$ sudo chown -rfv 775 ~/proyectosEl archivo correcto y los permisos de directorio para el Proyectos Se debe establecer la carpeta compartida.
Configurar el desarrollo remoto en el contenedor con el código Visual Studio
Código de Visual Studio admite de forma nativa el desarrollo remoto. Puede tener un código Visual Studio instalado en una computadora (Windows/Linux/MacOS) y conectarse al contenedor Docker S01 Ejecutando su NAS Synology a través de SSH y hace sus proyectos de desarrollo remotamente allí. Su computadora y la sinología NAS deben estar en la misma red para que esto funcione.
Veamos cómo hacer un desarrollo remoto en el contenedor Docker S01 Ejecutando el NAS de Synology usando el código Visual Studio.
Inicie el editor de código de Visual Studio en su computadora. Estoy usando el código Visual Studio en mi computadora Windows 10.
Ahora, debe instalar el Desarrollo remoto extensión Código de Visual Studio por hacer un desarrollo remoto.
Para instalar el Desarrollo remoto extensión, haga clic en el Extensiones ícono, busque el desarrollo remoto extensión, haga clic en Desarrollo remoto, y haga clic en Instalar, como se marca en la captura de pantalla a continuación.
El Desarrollo remoto Se debe instalar la extensión.
Una vez el Desarrollo remoto La extensión está instalada, debe ver el siguiente icono () en la esquina inferior izquierda del código Visual Studio, como se marca en la captura de pantalla a continuación.
Para agregar el contenedor Docker S01 Ejecutando su NAS Synology a Visual Studio para el desarrollo remoto, haga clic en el icono de desarrollo remoto .
Haga clic en Remote-SSH: Conecte la ventana actual al host .. , como se marca en la captura de pantalla a continuación.
Escribir [email protected]: 2222 y presionar .
Aquí, pala es el nombre de usuario de inicio de sesión del contenedor Docker S01, 192.168.0.110 es la dirección IP de mi sinología nas, y 2222 es el número de puerto reenviado del contenedor Docker S01. El nombre de usuario, la dirección IP y el número de puerto serán diferentes para usted. Así que asegúrate de reemplazarlos con el tuyo.
Haga clic en Linux.
Haga clic en Continuar.
Escriba la contraseña de inicio de sesión del contenedor Docker S01 y presionar .
El código de Visual Studio descargará todos los archivos requeridos en el contenedor Docker S01 y preparar el contenedor para el desarrollo remoto. Puede tomar un tiempo completar.
En este punto, todos los archivos requeridos deben descargarse en el contenedor Docker S01, y el código de Visual Studio debe estar listo para el desarrollo remoto.
Para abrir una carpeta de proyecto desde el Proyectos Carpeta compartida, haga clic en Archivo > Carpeta abierta… , como se marca en la captura de pantalla a continuación.
Como puede ver, todas las carpetas disponibles del contenedor Docker S01 son mostrados. Clickea en el proyectos carpeta.
He copiado un proyecto simple C ++ explorando-cpp11 sobre el Proyectos Carpeta compartida de mi sinología nas. Entonces, la carpeta aparece en el proyectos/ carpeta del contenedor Docker S01, Como puede ver en la captura de pantalla a continuación. Lo voy a usar para demostrar cómo hacer un desarrollo remoto en un contenedor Docker que se ejecuta en su NAS Synology.
Es posible que desee abrir una carpeta de proyecto diferente. También puede crear una carpeta de proyecto vacía y abrirla con el código Visual Studio y seguir.
Para abrir una carpeta de proyecto con el código Visual Studio, haga clic en ella. Como quiero abrir el explorando-cpp11/ Carpeta del proyecto, haré clic en ella.
Una vez que esté en la carpeta del proyecto, que desea abrir con el código Visual Studio, haga clic en DE ACUERDO.
Se le puede pedir que escriba la contraseña de inicio de sesión de su contenedor Docker S01. Escriba la contraseña de inicio de sesión de su contenedor Docker S01 y presionar .
La carpeta del proyecto debe abrirse con el código Visual Studio, como puede ver en la captura de pantalla a continuación.
En mi carpeta de proyecto, tengo un Incluye/ carpeta, SRC/ carpeta y un Cmakelists.TXT archivo.
En el Incluye/ carpeta, tengo un archivo de encabezado C ++ Impresora.H y en el SRC/ carpeta; Tengo 2 archivos de origen C ++ principal.CPP y Impresora.CPP, Como puede ver en la captura de pantalla a continuación.
El contenido del archivo fuente de C ++ src/principal.CPP se da en la captura de pantalla a continuación.
El contenido del archivo fuente de C ++ src/impresora.CPP se da en la captura de pantalla a continuación.
El contenido del archivo de encabezado C ++ Incluye/impresora.H se da en la captura de pantalla a continuación.
El contenido del archivo de configuración de CMake Cmakelists.TXT se da en la captura de pantalla a continuación.
Una vez que hayas creado un Cmakelists.TXT Archivo y escriba el siguiente contenido en el archivo, Visual Studio Code debe detectar que está utilizando CMake y le pedirá que instale las extensiones CMake requeridas. Haga clic en Instalar.
Las extensiones CMake requeridas deben instalarse.
Una vez que se instalan las extensiones de CMake requeridas, el resaltado automático y sintaxis debería funcionar para los archivos de configuración de CMake, como puede ver en la captura de pantalla a continuación.
Una vez que haya creado todos los archivos y carpetas requeridos para el proyecto, haga clic en Terminal > Nuevo terminal Para abrir una nueva ventana de terminal.
Se debe abrir una nueva ventana de terminal, como puede ver en la captura de pantalla a continuación.
Para compilar el programa C ++, debe instalar un compilador C ++ y las herramientas de compilación de CMake en su contenedor Docker S01.
Para hacer eso, ejecute el siguiente comando:
$ sudo apt install build -issential cmake -yEl compilador C ++ y las herramientas de compilación de CMake se están descargando. Puede tardar unos segundos en completarse.
Se están instalando el compilador C ++ y las herramientas de compilación de CMake.
En este punto, se deben instalar el compilador C ++ y las herramientas de compilación de CMake.
Ahora, crea un construir/ carpeta con el siguiente comando:
$ Mkdir -PV BuildNavegar al construir/ carpeta con el siguiente comando:
$ CD Build/Genere archivos de configuración de compilación de CMake para el proyecto C ++ con el siguiente comando:
$ cmake ..Se deben generar archivos de configuración de compilación de CMake.
Como puede ver, MakeFile y otros archivos de configuración de CMake se generan en el construir/ carpeta.
$ ls -lhPara compilar el proyecto C ++ usando CMake, ejecute el siguiente comando:
$ cmake - -build .El proyecto C ++ debe ser compilado, como puede ver en la captura de pantalla a continuación.
Una vez que se compila el proyecto C ++, un nuevo archivo ejecutable aplicación debe crearse en el construir/ carpeta, como puede ver en la captura de pantalla a continuación.
Puede ejecutar el archivo ejecutable compilado aplicación, como sigue:
ps ./aplicaciónComo puede ver, la salida correcta se está imprimiendo en la consola.
Así es como utiliza Docker para crear un entorno de desarrollo de Linux en su NAS Synology y hacer un desarrollo remoto en contenedores Docker utilizando el código Visual Studio.
Conclusión
En este artículo, le he mostrado cómo usar Docker para crear un entorno de desarrollador de Linux en su NAS Synology y hacer un desarrollo remoto en contenedores Docker utilizando el código de Visual Studio. Aparte de eso, cómo puedes usar el Ubuntu 20 oficial.04 Imagen de Hub Docker LTS para crear un Ubuntu 20 personalizado 20.04 LTS Docker La imagen para configurar un entorno de desarrollo de Docker también se enseña aquí. Puede hacer lo mismo con otras imágenes del sistema operativo (yo.mi., Centos, Debian) también.
✕