Levantar un contenedor de SQL Server en un NAS Synology

Después de varios intentos fallidos, por fin logre levantar un contenedor de SQL Server basado en Docker en mi NAS Synology.

Aquí les comento el paso a paso y los problemas que tuve al momento de levantar la instancia.

Primeramente, hay que verificar que nuestro NAS cumpla con los requerimientos mínimos, si es así, procedemos con la creación el contenedor dentro del Container Manager.

En la sección Contenedor, dar clic en el botón Crear.

En el campo Imagen, selecciona la opción Agregar Imagen.

En la configuración tendrás que agregar el registro de contenedores de Microsoft https://mcr.microsoft.com

Posteriormente, seleccionarlo como el contenedor de registro a utilizar

Después, buscar la imagen del contenedor de SQL Server mediante el buscador, ingresando el texto “mssql/server” en el buscador, y seleccionar la versión que se requiera.

Después, asignar un nombre y configurar los recursos a asignar a nuestro contenedor.

Para esto recomiendo utilizar prioridad de CPU media, ni alta ni baja ya que puede consumir todo nuestro CPU o puede no ser suficiente con configuración baja. Para el Limite de memoria asignar por lo menos un 30% mas de lo recomendado en los requerimientos mínimos, y muy importante, no habilitar el reinicio automático, ya que en caso de alguna falla puede entrar en un bucle de falla-reinicio infinito.

En la siguiente sección de configuración hay que asignar el puerto para nuestro contenedor, podría ser el puerto por defecto de SQL Server (1433) o algún otro.

Es importante configurar algún volumen físico de nuestro NAS a la ruta “/var/opt/mssql” del contenedor, para almacenar nuestras bases de datos fuera del contenedor y no se pierdan al apagar o reiniciar nuestro NAS.

Hay que agregar las siguientes variables de ambiente mínimas requeridas y asignar privilegios de ejecución al contenedor

Del resto de la configuración, pueden dejar las opciones por defecto y dar clic en Finalizar.

Con esto ya estaría listo nuestro contenedor de SQL Server, ya solo restaría crear alguna base de datos de ejemplo como la de AdventureWorks

Espero les sea de utilidad.

Referencias:

Prerequisites

Inicio rápido: Ejecución de imágenes de contenedor de SQL Server para Linux con Docker

Variables de ejecución del contenedor

Deploy and connect to SQL Server Linux containers

Montaje de un directorio host como volumen de datos

Restauración de una base de datos de SQL Server en un contenedor para Linux

AdventureWorks sample databases