Docker y Microsoft SqlServer
Si bien la necesidad es la madre de muchas cosas, me he topado con el requerimiento de instalar MS-SqlServer en la compu, solo tenía un par de opciones, bien usaba docker, virtualizaba alguna versión de windows con sqlserver o instalaba en el disco una versión de windows con sqlserver, claro que esta última indicaba formatear.
Lo que hizo inclinarme más por la primera opción docker y por eso el título. Resulta que desde un par de años (la versión 2017 de sqlserver) ya existía una versión compatible con el kernel de linux que hace posible su instalación y con la ayuda de docker permite que pueda correrse en un sistema MacOsx.
¿Cómo se hace?
- Descargar docker, de acuerdo a la distribución que utilices.
- Descargar la imagen de sqlserver 2019 de docker hacer uso del siguiente comando:
docker pull mcr.microsoft.com/mssql/server:2019-latest
- Ejecutar la imagen que se descargo con el siguiente comando:
docker run -d --name sql_server_mac -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=miContrasena123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest
No olvidar que:
- -d: Indica que el contenedor docker se ejecuta en segundo plano, por lo que no necesita su propia ventana de terminal abierta.
- — name sql_server_docker: permite nombrar el contenedor. Es útil al querer iniciar o detener el servicio del contenedor desde la terminal.
- -e ‘ACCEPT_EULA=Y’: La “Y” muestra que se está de acuerdo con el EULA (End User Licence Agreement). Es necesario para que se pueda ejecutar MS SQL Server, en un linux o mac.
- -e ‘SA_PASSWORD=pasword’: parametro para la contraseña del usuario “sa”.
- -p 1433:1433: Se mapea el puerto del host 1433 al puerto en el contenedor de docker. Este puerto TCP es el predeterminado para usar en MS SQL Server, para escuchar las conexiones.
- mcr.microsoft.com/mssql/server:2019-latest: Le indica a docker que imagen tiene que usar.
Para validar solo
- usar el comando
docker ps
que permitira listar todas las imagenes de docker. - conectar su cliente de base de datos preferido al contenedor, puede ser navicat, artisan o el que se prefiera.
Recordar que:
- El contenedor debe de estar iniciado para que el MS SQL Server funcione. Se puede iniciar con el siguiente comando:
docker start sql_server_docker
No se debe de olvidar que sql_server_docker es el nombre de la imagen que se le asigno al crearlo. En la imagen 4 se puede observar el botón de start, pulsarlo equivale a ejecutar el comando docker start imagen. - Si se encuentra en un sistema MacOsx debe de tener ejecutando en segundo plano el docker destop
Notas finales:
Lo malo es que si tienes una tu distro en una arquitectura arm o arm64 o un MacOsx con chip M1 este proceso no podrá ser posible de utilizar, debido la imagen de docker esta solo diseñada para entornos de x86_64, aún no he logrado ejecutarlo en una rpi que usa un chip arm64, al menos en la rpi400. Se instalará el docker, se descargará la imagen, se podrá “instalar” pero no se podrá ejecutarla o correr la misma, ya que marcara un error de “no es compatible la plataforma instalada con la que se esta corriendo”
One Comment
Pingback: