Está claro que no hay limites cuando se trata de contenedores. Efectivamente, podemos montar un SQL Server con un contenedor en una máquina con Linux, en este caso sobre Debian 10.
Si vamos a Docker Hub, podemos encontrar esta imagen mantenida oficialmente por Microsoft:
https://hub.docker.com/_/microsoft-mssql-server
Los requerimientos que debemos cumplir:
- Docker Engine 1.8 o superior
- Por lo menos 2 GB de memoria RAM
- ACCEPT_EULA=Y, confirmamos que aceptamos estas condiciones
- SA_PASSWORD=<contraseña robusta por lo menos 8 caracteres>
- MSSQL_PID= ID de producto/Nombre de edición. Predeterminado el valor Developer.
Los valores aceptados para especificar la edición que desplegamos en el contenedor son:
- Developer : Esto ejecutará el contenedor usando la Edición Developer (es el valor por defecto si no se suministra la variable de entorno MSSQL_PID)
- Express : Esto ejecutará el contenedor usando la Edición Express
- Standard : Esto ejecutará el contenedor usando la Edición Standard
- Enterprise : Esto ejecutará el contenedor usando la Edición Enterprise
- EnterpriseCore : Esto ejecutará el contenedor usando la edición Enterprise Core
Tenemos que tener presente que estamos aceptando el EULA al lanzar estos comandos, así que vaya por delante que tenemos que cumplir las condiciones de licenciamiento con Microsoft. Por ello podemos utilizar SQL Sever 2017 para entornos de desarrollo y SQL Server Express para entornos de producción.
Hay que tener en cuenta que la versión
Express tiene varias limitaciones en la memoria máxima utilizada de 1 GB
por el motor de base de datos, 1 MB de caché de buffer máximo, uso
máximo de 1 socket y 4 cores de CPU y la limitación de 10 GB en el
tamaño de base de datos. No tiene limite en el número de usuarios
concurrentes.
Para lanzar un contenedor con una instancia de la última versión de SQL Server:
# docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Pa$$w0RD' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
Para lanzar un contenedor con una instancia de la versión Express:
# docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Pa$$w0RD' -e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
Una vez lanzada la instancia, solo tenemos que abrir dbeaver, seleccionar una nueva conexión a SQL Server y rellenar los datos:- Servidor: localhost
- Puerto: 1433
- Database/Schema: Master
- Autenticación: SQL Server Authentication
- Usuario: sa
- Contraseña: Pa$$w0RD
Quizás haya que esperar un poco a que establezca la conexión y ya podemos trastear con SQL Server, crear una base de datos, tablas, etcétera.
DOCKER-COMPOSE
Para la versión SQL Express el archivo docker-compose.yml tendría:
version: '3.3'
services:
run:
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=Pa$$w0RD
- MSSQL_PID=Express
ports:
- '1433:1433'
image: run
SaluDOS
No hay comentarios:
Publicar un comentario